1

안녕하세요, 선입관을 사용하여 필터링 할 개체 배열이 있습니다.개체 배열에 일치하는 속성 만 표시하는 방법은 무엇입니까? Typeahead

$scope.states = [ 
     {state: 'Alabama', firstName: "Jim"}, 
     {state: 'Alaska', firstName: "Tom"}, 
     {state: 'Arizona', firstName: "Alan"}, 
     {state: 'Arkansas', firstName: "Mark"}, 
     {state: 'California', firstName: "Maria"} 
] 

그것이 firstName을 또는 상태와 일치하는지 여부 만 상태를 표시하는 순간 :

이이 내가 필터링 할 배열 내 입력 태그

<input type="text" ng-change="onedit()" ng-model="selected" uib-typeahead="state as state.city for state in states | filter:$viewValue | limitTo:8"> 

입니다. 어떻게 그것이 firstName을 일치하는 경우에만 firstName을 속성을 표시하고 그것이 여기 상태

일치하는 경우에만 상태 표시하는 것을 확인 할 수 있습니다 내 PLUNKER

내가 생각 사용하고있는 선행 입력은 각-부트 스트랩에서입니다.

저는 온라인 예제에서 보았지만 찾지 못해서 할 수 있다고 확신합니다.

답변

0

을 적용하는 동안 firstName 속성으로 지정하십시오.

uib-typeahead="state as state.city for state in states 
       | filter: { firstName: $viewValue} | limitTo:8"> 

Forked Plunker

+0

이 같은 일을한다. 아무것도 바뀌지 않았다. 방금 플 런커를 확인 했어. 여기서 firstName 만 필터링하도록 제한했다고 생각합니다. 내가 필요로하는 것은 상태 또는 이름 모두에서 일치하는 항목을 찾는 것이지만 Alan을 찾은 다음 일치하는 상태 표시 상태 값이 일치하는 경우 firstName 일치 만 표시한다고 가정 해 봅시다. 예 : 나는 "AL"을 입력하고 "ALan, Alaska, Alabama"목록을 얻습니다. 이제 내가 1 개의 객체 {state : Alaska, firstName : Alan}에 있고 "Alan"을 입력하고 싶다면 이름 대신 – Octtavius

+0

상태 이름이 표시됩니다. (state.state + ''+ state.firstName) 너 뭘 원하는거야? ... – Ric

+0

@Ric 이름, 성 또는 이메일 또는 도시로 찾으려는 경우에 대비하여 별도로 구분해야합니다. 전자 메일을 입력하는 대신 상상해보십시오. 입력하는 동안 제안 사항을보고 싶습니다. 예를 들어 사용자의 이메일을 볼 필요가 있으며 사용자 이름 만 알고 있기 때문에 "john"을 삽입하면 [email protected]과 같은 것을보고 싶습니다. 짜증나는 것은 어딘가에서 일하기 전에 그것을 보았지만 더 이상 찾을 수 없다는 것입니다. – Octtavius