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>
  
相关推荐
前端一课3 分钟前
我还在上班,怎么做一个长期有价值的号
前端
前端一课16 分钟前
用 TRAE Work 把项目踩坑经验沉淀成「团队可复用工程规范」,新人再也不重复掉坑
前端·后端
cyadyx30 分钟前
【Three.js】Three.js 中加载 3D 模型
前端·javascript·3d
汉堡大王952730 分钟前
前端工程师 TypeScript 上手指南:一条清晰的从入门到精通路线
前端·javascript·react.js
浅水壁虎37 分钟前
vue基础(第四章 Pinia)
前端·javascript·vue.js
用户21816970493040 分钟前
Flutter (十四) SingleChildScrollView ListView
前端
昭阳42 分钟前
4 个 vibe coding 项目,一个普通前端的半年
前端·人工智能·设计
颜进强1 小时前
Claude Code - 26 效率三件套:cc-switch 切模型 · codeburn 算成本 · claude-hud 看状态
前端·后端·ai编程
东方小月1 小时前
从零开发一个 Coding Agent(八):如何使用 Agent 类管理对话状态
前端·人工智能
光影少年2 小时前
RN 网络请求:Fetch / Axios 封装、超时、拦截器
前端·react native·react.js