vue模糊查询使用indexOf()报错Cannot read property ‘indexOf’ of null"
自己手写一个了模糊查询的事件
1,原本报错的代码,报错Cannot read property ‘indexOf’ of null"。查看后发现使用filter循环后赋值给的e,不被indexOf()所识别或者是为空等等。
// 查询按钮事件
queryMessage() { //报错的代码
var self = this;
var newTables = self.queryDatas;
var newsQuerys = self.formInline.user.toLowerCase();
let newArrays = [];
newArrays = newTables.filter( function(e){
if(e.empName.indexOf(newsQuerys) !== -1 ){
return e;
}
});
self.tableData = newArrays;
},
2,解决:对e进行JSON.stringify(e)转换转成字符串,判断改数组中是否存在该字符串,存在的情况下遍历该数组,返回匹配的数据。
// 查询按钮事件
queryMessage() { //修改后的代码
var self = this;
var newTables = self.queryDatas;
var newsQuerys = self.formInline.user.toLowerCase();
let newArrays = [];
newArrays = newTables.filter( function(e){
if(JSON.stringify(e).toLowerCase().indexOf(newsQuerys) !== -1 ){
return e;
}
});
self.tableData = newArrays;
},