在Ember.js中,是否可以使用多个值进行过滤?

10

在Ember.js中是否可以按多个值进行筛选?

我正在尝试使用不同的筛选变量来过滤表格中的项目,但是当我使用多个变量时遇到了麻烦。

有人可以帮忙吗?我是Ember.js的新手,渴望学习。先行致谢。

2个回答

10

你不能向同一个 filterBy 中传递多个属性,但是你可以在同一个数组上两次使用 filterBy,也就是将你的 filterBy 调用链接起来(如果有意义的话)。

请参考我最近提供的答案 (这里),了解我所说的内容的有效演示。

简而言之,如果你有一个数组 arr,你想要通过例如 countryname 属性进行过滤,你需要执行如下操作:

arr.filterBy('country', countryName).filterBy('name', 'Josh')

您也可以使用filter方法(而不是filterBy)以任何想要的方式过滤内容。


如果我想通过在不同的下拉菜单中选择的州和县进行筛选怎么办?我该如何将所选值添加到方法参数中? - FutoRicky
2
我创建了一个jsbin来按国家和州进行过滤 - http://emberjs.jsbin.com/beseqo/2/edit?html,js,console,output - Kalman
另外,我该如何将其默认为“选择一个…”时显示所有内容?对于所有问题,我很抱歉,但我发现您在emberjs方面非常有知识,因为您总是在SO上回答我的关于emberjs的问题。 - FutoRicky
复选框是布尔值 - 这就是它们的本质。如果您需要一个字符串 - 您可以在旁边显示一个标签。 - Kalman
我收到了错误信息 TypeError: Ember.default.computed.filterBy(...).filterBy is not a function - user663031
显示剩余6条评论

2

如果其中一个字段为空(null或undefined),则此过滤器会中断并返回空值。有没有办法让它正常工作? - Gevorg Hakobyan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接