Я пытаюсь найти список с входным текстовым вводом,
<input disable-auto-close type="text" class="form-control" placeholder="Query" ng-model="query" stop-event />
</div>
</li>
<li role="presentation" ng-repeat="eachObj in objList | filter:query" >
<a class="dd-li-item" role="menuitem" tabindex="-1" >
{{eachObj.name}}
</a>
</li>
Я понял, что мой фильтр выполняет поиск на уровне объекта, а не на уровне свойства имени объекта. Я имею в виду, если я наберу "a", он должен искать eachObj.name, а не eachObj. Мой текущий поиск получается, если какое-либо свойство eachObj содержит "a", то оно показывает, что вместо этого только если eachObj.name содержит "a", тогда только оно должно отображать это имя. есть ли какое-нибудь простое решение для этого.
Ниже приведены примеры json и dropdown:
<div class="dropdown">
<div class="smp-list-selected btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="true">
<div class="smp-list-selected-label">{{sampleCtrl.dropdownSelectedLabel}}</div>
<div class="caret dropdown-caret"></div>
<div class="subscript-indicator" ng-if="sampleCtrl.isQualified(sampleCtrl.selectedsmp.id)">Qualified</div>
</div>
<ul class="dropdown-menu smp-list" role="menu" aria-labelledby="dropdownMenu1" auto-close="outsideClick">
<li role="presentation" >
<div class="input-group input-group-sm search-control-for-smps"> <span class="input-group-addon">
<span class="glyphicon glyphicon-search"></span>
</span>
<input disable-auto-close type="text" class="form-control" placeholder="Query" ng-model="query" stop-event />
</div>
</li>
<li role="presentation" ng-repeat="smpObj in sampleCtrl.smpList | filter:{name:query} " ng-click="sampleCtrl.selectsmp(smpObj)">
<a class="dd-li-item" role="menuitem" tabindex="-1" >
{{smpObj.name}}
<div class="subscript-indicator" ng-if="sampleCtrl.isQualified(smpObj.id)">Qualified</div>
</a>
</li>
</ul>
</div>
vm.smpList = [
{
"id": "3",
"name": "Check",
"status": "Sent"
},
{
"id": "4",
"name": "Tupper",
"status": "In"
},
{
"id": "8",
"name": "Dangi",
"status": "Out"
}
]
Вы можете использовать объектную нотацию фильтра. Итак | filter:{<propName>:<Value>}
| filter:{<propName>:<Value>}
для поиска свойств ваших товаров.
Итак, в вашем случае
<div ng-repeat="item in items | filter:{name:by}">
Будет ли фильтр, где object.name
содержит свойство области действия by
.
https://docs.angularjs.org/api/ng/filter/filter
См. Скрипку в действии http://jsfiddle.net/gfwex7jd/