【问题标题】:filter data using dropdown?使用下拉列表过滤数据?
【发布时间】:2013-06-06 09:36:23
【问题描述】:

我有一个对象数组,它们只是项目。我还有一个下拉列表,我想用它来允许用户按价格或评级进行过滤,但是在页面加载时应该没有过滤。

如何根据当前选择选项将项目数据映射到过滤器?

我有一个 plunkr 可以开始:LINK

【问题讨论】:

  • 请在您的 plunk 中点击“保存”并使用新 URL 更新您的问题。你已经用空的 AngularJS plunk 发布了一个要点。
  • 抱歉 plunkr 今天行为异常。立即尝试
  • 详细博客示例:goo.gl/XYmwkr

标签: angularjs angularjs-ng-repeat angularjs-filter


【解决方案1】:

首先,您选择的值不明确。它们包含可以过滤和排序条目的值 - 将两者分开,因为它们是两个不同的功能。

接下来,您需要定义一个自定义过滤器,它将根据所选评级过滤数据。为此,您可以使用“评级”属性增强过滤条件,以将所选评级与评级值相关联。

最后,将排序与谓词和反向值相关联 - 谓词确定要确定排序的属性/列(在您的情况下为价格),而反向确定排序的升序/降序性质。

完整的代码可以在这里找到 - http://plnkr.co/edit/n7TebC?p=preview

我已经更新了 plunkr 并引入了 cmets,如果您不理解代码,请告诉我。

【讨论】:

  • 这不是自定义过滤器,因为 Angular 使用该术语,但它确实可以这样工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-20
  • 2016-05-27
  • 1970-01-01
相关资源
最近更新 更多