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;
    },
Logo

前往低代码交流专区

更多推荐