input 实时模糊过滤

let bmOptions = reactive([

  {

    value: 'Option1',

    label: 'Option1',

  },

  {

    value: 'Option2',

    label: 'Option2',

  },

  {

    value: 'Option3',

    label: 'Option3',

  }

])

//过滤部门值

// const filterBmValFun = () => {

//   let list = bmOptions.filter((item) => {

//     //item.label.includes(searchBm.value)

//     if (item.label.indexOf(searchBm.value) != -1) {

//       return item;

//     }

//   })

//   bmOptions = list

// }

2 完美版本

2-1

 <el-input v-model="input1" @input="changeEvent" class="w-50 m-2" placeholder="Please Input"

          :suffix-icon="Search" />

2-2

abc(params).then((res: any) => {

    if (res && res.success) {

      tableDatas.value = res.result//备份数据

      tableData.value = res.result;//原有数据

    }

  });

2-2

const changeEvent = () => {

  let _search = input1.value.toLowerCase();

  let newListData: [] = []; // 用于存放搜索出来数据的新数组

  if (_search) {

    let SZ: [] = [];

    if (tableData.value.length > 0) {

      SZ = tableData.value;

    } else {

      //原数组没有值 让备份数据重新赋值,作为模糊查询条件。

      SZ = tableDatas.value;

    }

    SZ.filter(item => {

      if (item.shortName.toLowerCase().indexOf(_search) !== -1) {

        newListData.push(item);

      }

    })

  }

  tableData.value = newListData;

  //输入框中无任何值,重新备份值赋值。

  if (!input1.value) {

    tableData.value = tableDatas.value;

  }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值