/**
* 任意字符串搜索
* @param {String} val 需要查的value
* @param {Array} data table数据源
* @param {String} type 查询的类型 indexOf{模糊查询} filter{精准查询}
* @returns {Array}
*/
export function tableSearchVal(data, val, type = 'indexOf') {
/**
* 判断是否为英文
* 是的话转为大写并返回一个obj{ val:'', type:boolean }
* 不是的话返回原来的string字符
* 可根据业务需求变更 此时只需要val
*/
let obj = IsEnglish(val)
console.log(obj.val)
let newTable = []
if (type === 'filter') {
newTable = data.filter((item) => {
for (let k in item) {
if (typeof item[key] === 'string') {
return item[k] === obj.val
}
}
})
} else if (type === 'indexOf') {
data.forEach((item) => {
for (var k in item) {
if (typeof item[k] === 'string') {
if (item[k].indexOf(obj.val) != -1) {
newTable.push(item)
break
}
}
}
})
}
return newTable
}
// 判断是否为英文,英文直接转大写
export function IsEnglish(str) {
str = str.trim()
if (/^[A-z]{0,}$/.test(str)) {
return { type: true, val: str.toUpperCase() }
} else {
return { type: false, val: str }
}
}
前端通过后端返回的dataList数据进行搜索查询
于 2023-10-11 09:59:08 首次发布