如何仅显示在对象数组中具有匹配项的属性?预输入

时间:2017-11-08 16:27:29

标签: angularjs typeahead.js typeahead bootstrap-typeahead angular-ui-typeahead

您好我有一个对象数组,我想使用typeahead进行过滤。

这是我的输入标签

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

这是我要过滤的数组:

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

此时它只显示状态是否与firstName或state匹配。如果它匹配firstName,它将只显示firstName属性,如果匹配状态,它只显示状态

这是我的PLUNKER

我认为我使用的类型是来自angular-bootstrap。

我很确定你可以这样做,因为我在一些在线示例中看到它但找不到它。

1 个答案:

答案 0 :(得分:0)

在应用firstName时,请注明filter属性。

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

Forked Plunker