el-select实现模糊搜索、远端搜索

el-select实现模糊搜索、远端搜索

实现代码:
VUE 复制代码
<template>
    <div class="item-select-wrapper">
      <el-select v-model="value1" filterable="filterable" :disabled="disabled" remote="remote" clearable="clearable" :remote-method="doSearch"
                 :loading="loading" :size="size">
        <el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id">
          <div>{{ item.name }}</div>
          <div class="info">{{ item.itemNo }}</div>
        </el-option>
      </el-select>
    </div>
  </template>
  
  <script>
  import { list } from "@/api/list";
  export default {
    name: 'listSelect',
    props: {
      value: {
        type: [String, Number],
        default: null
      },
      size: {
        type: String,
        default: 'small'
      },
      disabled: {
        type: Boolean,
        default: false
      }
    },
    data() {
      return {
        options: [],
        loading: false
      }
    },
    computed: {
      value1: {
        get() {
          return this.value
        },
        set(v) {
          this.$emit('input', v)
        }
      }
    },
    created() {
      this.doSearch();
    },
    methods: {
      doSearch(search) {
        list({search}, {page: 0, size: 20}).then(res => {
          const {content, totalElements} = res
          this.options = content
        })
      }
    }
  }
  </script>
  
  <style lang="stylus">
  
  </style>
  
相关推荐
|晴 天|8 小时前
Vue 3 + TypeScript + Element Plus 博客系统开发总结与思考
前端·vue.js·typescript
猫3288 小时前
v-cloak
前端·javascript·vue.js
旷世奇才李先生9 小时前
Vue 3\+Vite\+Pinia实战:企业级前端项目架构设计
前端·javascript·vue.js
SoaringHeart10 小时前
Flutter进阶:用OverlayEntry 实现所有弹窗效果
前端·flutter
IT_陈寒12 小时前
Vite静态资源加载把我坑惨了
前端·人工智能·后端
herinspace12 小时前
管家婆实用贴-如何分离和附加数据库
开发语言·前端·javascript·数据库·语音识别
小码哥_常12 小时前
从MVC到MVI:一文吃透架构模式进化史
前端
嗷o嗷o12 小时前
Android BLE 的 notify 和 indicate 到底有什么区别
前端
豹哥学前端12 小时前
别再背“var 提升,let/const 不提升”了:揭开暂时性死区的真实面目
前端·面试
Lkstar13 小时前
我把Vue2响应式源码从头到尾啃了一遍,这是整理笔记
vue.js