element-ui中el-select下拉框实现拼音、首字母、汉字等模糊搜索

  1. // 安装 pinyin-match
    npm install pinyin-match --save

2.引入
import PinyinMatch from 'pinyin-match'

3.ele下拉框 :filter-method="handleFilter"

<el-select filterable :filter-method="handleFilter">
                      <el-option
                        v-for="item in orderDetails"
                        :key="item.id"
                        :label="item.codeName"
                        :value="item.id"
                      ></el-option>
                    </el-select>

4.注意

// 复制
//data中新建copyOrderDetails =[]
this.copyOrderDetails = Object.assign(this.orderDetails)

5.方法赋值

handleFilter(val) {
      // 对绑定数据赋值
      if (val) {
          //orderDetails 请求过来的options数据
        this.orderDetails = this.copyOrderDetails.filter((item) => {
          // 如果直接包含codeName输入值直接返回true
          if (item.codeName) {
            if (item.codeName.toUpperCase().indexOf(val.toUpperCase()) != -1) {
              return true
            }
            // 输入值拼音d
            return PinyinMatch.match(item.codeName, val)
          }
        })
      } else {
        this.orderDetails = this.copyOrderDetails
      }
    }
posted @   刘酸酸sour  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示