如何解决如何使用 vuetify v-data-table 过滤精确的 mach?
我正在尝试制作一个自定义过滤器以获得完全匹配
如果我的搜索是歌剧但不是歌剧,我希望过滤器返回歌剧:
- 歌剧
- 操作
- 希望
如何使用自定义过滤器的示例: https://vuetifyjs.com/en/components/data-tables/#custom-filter
目前我所拥有的:
<v-data-table
:headers="headers"
:items="words"
item-key="name"
:search="search"
:custom-filter="filterPerfectMatch"
>
...
</v-data-table>
...
methods: {
filterPerfectMatch(value,search) {
return value != null &&
search != null &&
typeof value === 'string' &&
// value.match(search) === true && <== doesn't work T T
value.toString().indexOf(search) !== -1
},},
解决方法
发现这很容易:
filterPerfectMatch(value,search) {
if (value == search) {
console.log("value :" + value + ",search :" + search)
return value != null &&
search != null &&
typeof value === 'string' &&
value.toString().indexOf(search) !== -1
}
},
,
如果您想要完全匹配,请使用 ==
或 ===
进行字符串比较。无需使用 indexOf
。
methods: {
filterPerfectMatch(value,search) {
return value != null && value === search
},},
您也可以将 toLowercase()
添加到 value 和 search,但您需要添加检查它们是否为字符串返回。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。