当前位置:首页 > 前端教程

elementui auto

2026-03-05 20:32:38前端教程

ElementUI AutoComplete 组件使用指南

ElementUI 的 AutoComplete 组件是一个带输入建议的输入框,常用于搜索框或表单中需要自动补全的场景。

基本用法

通过 v-model 绑定输入值,fetch-suggestions 属性设置获取建议的方法:

<el-autocomplete
  v-model="state"
  :fetch-suggestions="querySearch"
  placeholder="请输入内容"
></el-autocomplete>
data() {
  return {
    state: '',
    restaurants: []
  }
},
methods: {
  querySearch(queryString, cb) {
    var restaurants = this.restaurants;
    var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
    cb(results);
  },
  createFilter(queryString) {
    return (restaurant) => {
      return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
    };
  }
}

自定义模板

可以自定义建议项的显示方式:

elementui auto

<el-autocomplete
  v-model="state"
  :fetch-suggestions="querySearch"
  placeholder="请输入内容"
>
  <template #default="{ item }">
    <div class="name">{{ item.value }}</div>
    <span class="addr">{{ item.address }}</span>
  </template>
</el-autocomplete>

远程搜索

结合远程接口实现搜索建议:

querySearchAsync(queryString, cb) {
  axios.get('/api/search', { params: { q: queryString } })
    .then(response => {
      cb(response.data);
    });
}

属性配置

常用属性:

elementui auto

  • value-key: 指定建议对象中用于显示的键名
  • debounce: 输入去抖延迟,默认300毫秒
  • trigger-on-focus: 是否在输入框聚焦时显示建议列表
  • select-when-unmatched: 在输入框没有匹配项时是否允许选中输入内容

事件处理

常用事件:

  • select: 点击选中建议项时触发
  • change: 输入框值变化时触发
  • blur: 输入框失去焦点时触发
handleSelect(item) {
  console.log(item);
}

样式定制

可以通过覆盖CSS类名来自定义样式:

  • .el-autocomplete: 组件容器
  • .el-autocomplete-suggestion: 建议列表
  • .el-autocomplete-suggestion__wrap: 建议列表内容容器

与表单验证结合

可以配合Form组件进行验证:

<el-form :model="form" :rules="rules">
  <el-form-item prop="name">
    <el-autocomplete
      v-model="form.name"
      :fetch-suggestions="querySearch"
      placeholder="请输入名称"
    ></el-autocomplete>
  </el-form-item>
</el-form>
rules: {
  name: [
    { required: true, message: '请输入名称', trigger: 'blur' }
  ]
}

标签: elementuiauto
分享给朋友:

相关文章

elementui优秀

elementui优秀

优秀特性 Element UI 作为一款基于 Vue.js 的组件库,因其设计规范、易用性和丰富的功能而广受开发者青睐。 一致性设计 遵循统一的视觉风格和交互逻辑,提供开箱即用的主题定制能力,支…

iwiew elementui

iwiew elementui

iView 与 Element UI 对比 iView 和 Element UI 都是基于 Vue.js 的 UI 组件库,适用于快速开发企业级中后台管理系统。以下是两者的详细对比: 设计风…

elementui模板

elementui模板

ElementUI 模板使用指南 ElementUI 是一个基于 Vue.js 的组件库,提供丰富的 UI 组件,适用于快速开发中后台管理系统。以下是 ElementUI 模板的常见用法和资源推荐。…

elementui时区

elementui时区

ElementUI 时区问题解决方案 ElementUI 本身是一个基于 Vue.js 的组件库,不直接处理时区问题。但日期时间相关组件(如 DatePicker、DateTimePicker)可能涉…

elementui配色

elementui配色

Element UI 配色方案 Element UI 提供了一套基于 Vue.js 的默认配色方案,主要用于组件库的视觉设计。以下是其核心配色及自定义方法: 默认主题色 主色调:#409EFF(蓝色…

elementui markdown

elementui markdown

ElementUI 与 Markdown 结合使用 ElementUI 是一个基于 Vue.js 的组件库,常用于快速构建前端界面。Markdown 是一种轻量级标记语言,常用于文档编写。以下是将 E…