7千条数据,搜索卡顿

<el-select v-model="query.enterpriseId" filterable :filter-method="enterpriseSearchF" placeholder="请选择企业名称" clearable>
  <el-option v-for="item in conInputShowList" :key="item.id" :label="item.companyName" :value="item.id" :disabled="item.disabled">
  </el-option>
</el-select>
data() {
  return {
    conInputShowList: [], // 显示的数据
    conInputList: [], // 原始接口数据
  }
},
// 自定义搜索条件
enterpriseSearchF(val) {
  const moreVal = '输入更具体的条件查询更多数据';
  const maxNum = 100; // 超出量,超出只显示此量的数据。
  const key = 'companyName'; // 数据key,需要搜索的字段
  if (val) { //val存在
    this.conInputShowList = this.conInputList.filter((item) => {
      if (item[key].indexOf(val) > -1) {
        return true
      }
    })
    if (this.conInputShowList.length > maxNum) {
      this.conInputShowList = this.conInputShowList.slice(0, maxNum);
      const temp = {
        disabled: true
      }
      temp[key] = moreVal;
      this.conInputShowList.push(temp);
    }
  } else {
    this.conInputShowList = this.conInputList.slice(0, maxNum);
    const temp = {
      disabled: true
    }
    temp[key] = moreVal;
    this.conInputShowList.push(temp);
  }
  const allTemp = {
    id: null
  }
  allTemp[key] = '全部';
  this.conInputShowList.unshift(allTemp);
},

请鹅出战
328 声望3 粉丝

当我带上墨镜,也许我就真的瞎了。