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

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);
    };
  }
}

自定义模板

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

<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);
    });
}

属性配置

常用属性:

  • 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' }
  ]
}

elementui auto

标签: elementuiauto
分享给朋友:

相关文章

修改elementui的样式

修改elementui的样式

修改 ElementUI 样式的方法 通过全局样式覆盖 在项目的全局样式文件(如 App.vue 或 main.css)中直接覆盖 ElementUI 的默认样式。需确保选择器优先级高于默认样式,可通…

elementui spring

elementui spring

ElementUI 与 Spring 整合方法 ElementUI 是基于 Vue.js 的前端组件库,Spring 是 Java 后端框架。整合两者需要前后端分离架构,通过 RESTful API…

elementui优秀

elementui优秀

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

iwiew elementui

iwiew elementui

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

elementui datepick

elementui datepick

ElementUI DatePicker 使用指南 ElementUI 是一套基于 Vue.js 的组件库,DatePicker 是其中一个常用的日期选择组件。以下是关于 ElementUI Date…

elementui渐变

elementui渐变

实现ElementUI渐变效果的方法 ElementUI组件库本身不直接提供渐变样式,但可以通过CSS自定义实现渐变效果。以下是几种常见实现方式: 背景渐变 通过CSS的linear-gradie…