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()的值要与上方对应

相关推荐
铅笔侠_小龙虾2 分钟前
深入理解 Vue.js 原理
前端·javascript·vue.js
你的眼睛會笑8 分钟前
vue3 使用html2canvas实现网页截图并下载功能 以及问题处理
前端·javascript·vue.js
无光末阳35 分钟前
vue 环境下多个定时器的创建与暂停的统一封装
前端·vue.js
Hilaku37 分钟前
技术Leader的“第一性原理”:我是如何做技术决策的?
前端·javascript·面试
慧一居士1 小时前
src/App.vue 和 public/index.html 关系和区别
前端·vue.js
渣哥1 小时前
面试高频:Spring 事务传播行为的核心价值是什么?
javascript·后端·面试
九十一2 小时前
websocket的连接原理
前端·javascript
iuuia2 小时前
05--JavaScript基础语法(1)
开发语言·javascript·ecmascript
念你那丝微笑2 小时前
vue实现批量导出二维码到PDF(支持分页生成 PDF)
前端·vue.js·pdf
呼叫69452 小时前
为什么`for...of` 循环无法输出对象的自定义属性?
javascript