Element-ui select远程搜索

template部分:

bash 复制代码
       <el-form-item label="用户" prop="userId">
          <el-select
            v-model="temp.userId"
            placeholder="用户"
            filterable
            remote
            :reserve-keyword="false"
            :remote-method="remoteMethod"
            :loading="loading"
            class="filter-item">
            <el-option
              v-for="item in userIdList"
              :key="item.key"
              :label="item.value"
              :value="item.key"/>
          </el-select>
        </el-form-item>

filterable: 是否可搜索

remote: 是否为远程搜索

remote-method: 远程搜索方法

reserve-keyword:多选且可搜索时,是否在选中一个选项后保留当前的搜索关键词

js:

javascript 复制代码
data: {
      //筛选完的部门列表信息
      userIdFilter:[],
      // 用来下拉列表模糊查询
      userIdList:[],
}

methods: {
    getUserIdList() {
      this.listLoading = true
      queryAllUser().then(res => {
        this.userIdFilter = res.data
      })
    },
    remoteMethod(query) {
      if (query !== '') {
        this.loading = true;
        setTimeout(() => {
          this.loading = false;
          this.userIdList = this.userIdFilter.filter(item => {
            return item.value.toLowerCase()
              .indexOf(query.toLowerCase()) > -1;
          });
        }, 200);
      } else {
        this.userIdList = [];
      }
    },
}

要注意option中应该对应的是用来下拉列表模糊查询

js中return item.value.toLowerCase()的值要与上方对应

相关推荐
只喜欢赚钱的棉花没有糖19 分钟前
http的缓存问题
前端·javascript·http
让梦想疯狂1 小时前
开源、免费、美观的 Vue 后台管理系统模板
前端·javascript·vue.js
葡萄糖o_o1 小时前
ResizeObserver的错误
前端·javascript·html
sunbyte2 小时前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | AnimatedNavigation(动态导航)
前端·javascript·vue.js·tailwindcss
米粒宝的爸爸2 小时前
uniapp中vue3 ,uview-plus使用!
前端·vue.js·uni-app
JustHappy3 小时前
啥是Hooks?为啥要用Hooks?Hooks该怎么用?像是Vue中的什么?React Hooks的使用姿势(下)
前端·javascript·react.js
江城开朗的豌豆3 小时前
Vue中Token存储那点事儿:从localStorage到内存的避坑指南
前端·javascript·vue.js
江城开朗的豌豆3 小时前
MVVM框架:让前端开发像搭积木一样简单!
前端·javascript·vue.js
氢灵子3 小时前
Canvas 变换和离屏 Canvas 变换
前端·javascript·canvas
dy17173 小时前
tabs页签嵌套表格,切换表格保存数据不变并回勾
javascript·vue.js·elementui