Vue:orderBy多个字段

时间:2015-12-26 02:00:03

标签: vue.js

我想将VueJS orderBy过滤器与多个字段一起使用。我试过了:

orderBy multiple fields in Angular(类似方法)

| orderBy 'ignored' true | orderBy 'name' 1 | ...

但两种解决方案都不起作用。

是否可以使用带有多个字段的orderBy过滤器,如果可以,如何使用?如果没有,你能建议一个替代方案吗?

4 个答案:

答案 0 :(得分:2)

在这种情况下,我会避免使用内置的orderBy过滤器。其他选择:

  1. 创建一个为您执行此操作的computed
  2. 每当项目数组发生变化时,创建一个自动执行排序并将其存储到新属性(例如" something_sorted")的watch
  3. 创建自己的自定义过滤器,执行多列排序。 (http://vuejs.org/guide/custom-filter.html

答案 1 :(得分:0)

我的脚本是:

$scope.myarray = $filter('orderBy')(array, ['field1','field2']);

答案 2 :(得分:0)

你应该能够连接像这样的术语;

<element v-for="item in array | orderBy 'ignored+name'">

ignored会按字母顺序进行过滤,因此我建议在忽略之前添加一个爆炸来翻转顺序。

答案 3 :(得分:0)

我是通过使用下面的语法在v1中完成的,因为@Posva在评论中说。 contacts | orderBy ['name', 'surname', 'age'] reverse