You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AngularJS如何仅按姓名过滤列表?

仅按姓名筛选的AngularJS搜索实现

嗨,这问题其实很好解决!你现在用的是全局搜索的filter写法,所以会遍历studentData里的所有字段。要只针对FullName字段筛选,只需要把过滤器的参数改成对象形式就可以了,这是AngularJS里最简单的实现方式。

修改后的代码:

<input type="text" ng-model="searchText" placeholder="Search for a pupil..." />
<tr ng-repeat="student in studentData | filter:{FullName: searchText}">

原理说明:

  • 原来的filter: searchText是让AngularJS在studentData的每一项里,搜索所有属性中包含searchText值的条目。
  • 改成filter:{FullName: searchText}后,就会只检查每个student对象的FullName属性,只有当这个属性包含输入的搜索文本时,才会被保留在ng-repeat的结果里。

如果之后你需要扩展到多个指定字段,也可以在这个对象里添加更多键值对,比如filter:{FullName: searchText, Grade: searchGrade},不过你现在只需要单字段筛选,上面的写法完全够用啦。

内容的提问来源于stack exchange,提问作者Nemanja Grabovac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:54:51