问题描述
根据custom filters in v-data-table的Vuetify文档,可以通过在标题项上提供 filter 属性来自定义特定表列的过滤。
在我的应用程序中,我想使用它为单个列自定义过滤。对于所有其他列,我想保留默认的字符串匹配行为。
作为起点(see codepen),我提供了一个自定义过滤器,该过滤器仅返回 true :
new Vue({
el: '#app',vuetify: new Vuetify(),data(){
return {
headers: [
{
text: 'Car Manufacturers',value: 'car',filter(){ return true }
},{
text: 'Country of Origin',value: 'country'
}
],items: [
{ car: 'Honda',country: 'Japan' },{ car: 'Audi',country: 'Germany' },{ car: 'Ford',country: 'USA' }
],search: ''
}
},})
和
<div id="app">
<v-app>
<v-container>
<v-text-field
label="Search"
v-model="search"
>
</v-text-field>
<v-data-table
:headers="headers"
:items="items"
:search="search"
>
</v-data-table>
</v-container>
</v-app>
</div>
我现在希望,汽车列上的过滤器与所有行匹配,因此无论我输入什么搜索字符串,都将显示整个表。
我观察到的是,该表仍处于过滤状态,但仅按国家/地区列进行过滤。
相反,当我更改过滤器以返回 false 时,将显示一个空表。然后,我会希望该表仅按国家/地区列进行过滤。
标题过滤器如何应用?或者,更准确地说:
对于每一行,各个列过滤器的结果如何合并以产生整行的过滤器结果?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)