gpt4 book ai didi

AngularJS 仅对一个字段进行严格过滤

转载 作者:行者123 更新时间:2023-12-03 06:42:22 24 4
gpt4 key购买 nike

我有一个包含多个过滤器的表单,但对于某些过滤器,我需要严格比较。

tl;dr:严格比较 user_id,而不是 firstname

<select ng-model="search.user_id">
<option value="1">1</option>
<option value="2">2</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="23">23</option>
</select>

<input type="text" ng-model="search.firstname">

<ul>
<li ng-repeat="user in users | filter:search">#{{ user.user_id }} {{ user.firstname}}</li>
</ul>

我尝试了第三个参数true,但它也适用于firstname过滤器。

问题是:如果您选择值 2,则 id 中包含 2 的所有用户都将被过滤,我不希望出现这种行为。

这是fiddle .

最佳答案

我尝试在本地修复它,而不是使用自定义过滤器,它的工作原理是 PLUNKER LINK

必须指定多个过滤器标签

<li ng-repeat="user in users | filter:{'user_id':  search.user_id}: true | filter: {'firstname' : search.firstname}">

尽管有一些警告:

  1. 我必须将类型从数字更改为字符串...

  2. 如果我重置完全匹配的值,它不起作用...

所以我必须编写一个自定义文件管理器,它可以精确匹配并忽略空/空值

$scope.filter2 = function(field1, field2) {
if(field2 === "" || field2 === null) return true;
return field1 === field2;
};

您会在提供的 plunker 链接中找到它们

关于AngularJS 仅对一个字段进行严格过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24867824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com