我有一个看起来像这样的自定义搜索,但我该如何使用它 在所有列中而不仅仅是 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
})
}
您可以迭代所有列。但也许提供更多代码来获得有效的解决方案。我不知道你的数据对象到底是什么样子。
//编辑: 关于您的数据结构,该函数将如下所示:
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
}
}
})
}
我们迭代行中的所有评估值并检查是否有任何适合搜索文本。但请注意,您的数据集还有您未显示的条目数量。这个也将包含在搜索中
//编辑2:
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
}
}
})
}