Vuetify-严格的数据表自定义过滤器

时间:2018-09-27 09:00:39

标签: vue.js filter datatable vuetify.js strict

因此,我有一个数据表,其中对象的名称相似且区分大小写,如“ A”,“ Aa”或“ a”,并且在尝试按这些确切值过滤数据时遇到问题。我正在使用绑定到数据表的search属性的v-select过滤数据。创建自定义过滤器时,我发现的仅有两个选项是通过搜索输入过滤特定列:

customFilter(items, search, filter) {
    search = search.toString().toLowerCase();
    return items.filter(row => filter(row["name"], search));
}

或过滤Object.keys:

customFilter(items, search, filter) {
    search = search.toString().toLowerCase();
    return items.filter(i => (
        Object.keys(i).some(j => filter(i[j], search))
    ))
}

关于自定义过滤器的工作方式,我似乎无法使用搜索参数而不将其置于小写形式,因为删除.toLowerCase()会完全破坏它,并在Objects.key上使用其他方法,例如.find( )而不是.some()结果在选择“ A”或“ a”时仍会过滤“ Aa”项。

有什么方法可以使用自定义过滤器来区分我的项目,区分大小写和确切地按字符串显示吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用数据表的搜索和自定义过滤器来查找结果是错误的方式,因为它们太受限制了。我只是将数据表链接到一个单独的数组,当在v-select中选择一个选项时我会过滤自己。