Vue.js v-data-table搜索的默认结果
我有一个Vue.js v-data-table搜索的默认结果,vue.js,vuetify.js,Vue.js,Vuetify.js,我有一个v-data-table,可以使用搜索工具进行搜索。如果在搜索中找不到结果,我希望返回默认行 例如,如果我有一个简单的表,其中包含“Apples”、“Oranges”、“Pears”行,然后我搜索“Peaches”,我希望返回“Apples”行,而不是“找不到匹配的记录” 我试图使用no results槽来实现这一点,但是,这有几个问题。首先,样式与常规行不同。这不是一个大问题,因为我认为这是可以克服的。其次,通常当单击一行时,我会弹出一个包含更多信息的对话框-这种行为似乎不适用于no
v-data-table
,可以使用搜索工具进行搜索。如果在搜索中找不到结果,我希望返回默认行
例如,如果我有一个简单的表,其中包含“Apples”、“Oranges”、“Pears”行,然后我搜索“Peaches”,我希望返回“Apples”行,而不是“找不到匹配的记录”
我试图使用no results
槽来实现这一点,但是,这有几个问题。首先,样式与常规行不同。这不是一个大问题,因为我认为这是可以克服的。其次,通常当单击一行时,我会弹出一个包含更多信息的对话框-这种行为似乎不适用于no results
窗口
有人有过实现类似功能的经验吗?您可以编写一个
自定义过滤器
函数,在未找到结果时返回默认条目
另见:
根据上面Simon的建议添加了自定义搜索
searchWithDefault(value, search, item) {
return (value != null &&
search != null &&
typeof value === 'string') &&
((value.toString().toLowerCase().indexOf(search.toLowerCase()) !== -1) || (value.toString().toLowerCase().indexOf("peaches") !== -1))
}
您可以使用codepen创建此问题的最小复制吗?您正在使用的对话框应该保留在datatable组件之外,然后它就可以工作了