angularjs过滤器在过滤器中使用多个项目时会出现问题,例如capital&小写字母

时间:2018-05-03 12:01:51

标签: angularjs angularjs-ng-repeat

使用angularjs 1.6,过滤器问题

我尝试在项目数组上应用toLowerCase()但没有用。有人可以帮我解决如何在fitler中解决这个问题。

这是代码,

<input type="text" placeholder="Search by name" ng-model="peer.searchString">
<div class="item ui very compact popup-element" ng-repeat="item in peer.healthList | filter: {'ServiceName': peer.searchString, 'Name': peer.Name}">
    <div style="display:flex; width:100%;cursor: pointer;" ng-click="onItemClick(item,peer, $event);">
        <div class="ui avatar image" ng-class="item.Status"></div>
        <div class="content">
        <div class="header popup popup-element exportable">{{item.ServiceName ? item.ServiceName : item.Name}} </div>
        </div>
        <div class="right floated meta">{{item.Status}}</div>
    </div>

</div>

这是列表项目,

ABC,BBA,abc和DCa ...从API检索并填充或不填充。

{{item.ServiceName ? item.ServiceName : item.Name}}

这里有点复杂的过滤掉了。它只过滤非大写单词,保持简单未经过滤。

当尝试仅搜索'abc'时,将会过滤,其余项目似乎不会出现在它所处理的列表中。

谢谢,

2 个答案:

答案 0 :(得分:0)

可能重复,AngularJs, filter case insensitive

<div class="item ui very compact popup-element" ng-repeat="item in peer.healthList | filter: {'ServiceName': peer.searchString} : false">

这有效!

答案 1 :(得分:0)

当我用控制器中的另一个变量改变响应数据时,它正在工作。

o.displayName = o.ServiceName ? o.ServiceName : o.Name;

我在HTML中使用displayName作为ServiceName复制确切的。实际问题是多个过滤器变量无法正常工作。

由于