我有一个看起来像这样的自定义搜索,但是如何使用它 在所有列中,而不仅仅是colName列?
https://live.bootstrap-table.com/code/janttila/5112
function customSearch(data, text) {
return data.filter(function (row) {
return row.colName.toLowerCase().replace(/\s/g, "").indexOf(text.toLowerCase().replace(/\s/g, "")) > -1
})
}
答案 0 :(得分:1)
您可以遍历所有列。但是也许提供更多代码以获得有效的解决方案。我不知道您的数据对象到底是什么样子。
//编辑: 关于您的数据结构,该函数将如下所示:
function customSearch(data, text) {
return data.filter(function (row) {
for (let items of Object.values(row)){
if (items.toString().toLowerCase().replace(/\s/g, "").indexOf(text.toLowerCase().replace(/\s/g, "")) > -1){
return true
}
}
})
}
我们遍历行中的所有值,并检查是否有任何适合搜索文本的值。但是请注意,您的数据集也包含您未显示的条目数量。该搜索也将包括在内
// EDIT2:
function customSearch(data, text) {
return data.filter(function (row) {
searchFor = ["id", "name", "price"]
for (elem of Object.keys(row)){
if (searchFor.indexOf(elem) < 0) {
delete row[elem]
}
}
for (let items of Object.values(row)){
if (items.toString().toLowerCase().replace(/\s/g, "").indexOf(text.toLowerCase().replace(/\s/g, "")) > -1){
return true
}
}
})
}