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

elementui auto

2026-01-14 21:07:02前端教程

Element UI AutoComplete 组件

Element UI 的 AutoComplete 组件是一个输入框的自动完成功能,用户输入时会出现下拉建议。适用于需要快速输入或搜索的场景。

基本用法

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

<el-autocomplete
  v-model="state"
  :fetch-suggestions="querySearch"
  placeholder="请输入内容"
  @select="handleSelect"
></el-autocomplete>
data() {
  return {
    restaurants: [],
    state: ''
  }
},
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);
    };
  },
  handleSelect(item) {
    console.log(item);
  }
}

远程搜索

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

elementui auto

<el-autocomplete
  v-model="state"
  :fetch-suggestions="querySearchAsync"
  placeholder="请输入内容"
  @select="handleSelect"
></el-autocomplete>
methods: {
  querySearchAsync(queryString, cb) {
    axios.get('/api/search', { params: { query: queryString } })
      .then(response => {
        cb(response.data);
      });
  }
}

自定义模板

通过 scoped slot 自定义下拉项的显示内容。

<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>

禁用状态

设置 disabled 属性可以禁用自动完成。

elementui auto

<el-autocomplete
  v-model="state"
  :fetch-suggestions="querySearch"
  placeholder="请输入内容"
  disabled
></el-autocomplete>

清除按钮

添加 clearable 属性可显示清除按钮。

<el-autocomplete
  v-model="state"
  :fetch-suggestions="querySearch"
  placeholder="请输入内容"
  clearable
></el-autocomplete>

事件

常用事件包括 select(选中建议项时触发)和 change(输入值变化时触发)。

<el-autocomplete
  v-model="state"
  :fetch-suggestions="querySearch"
  placeholder="请输入内容"
  @select="handleSelect"
  @change="handleChange"
></el-autocomplete>

属性

主要属性包括 value-key(指定建议对象的键名)、debounce(输入去抖延迟)等。

<el-autocomplete
  v-model="state"
  :fetch-suggestions="querySearch"
  placeholder="请输入内容"
  value-key="name"
  :debounce="300"
></el-autocomplete>

以上是 Element UI AutoComplete 组件的常见用法和配置选项,可以根据实际需求进行调整。

标签: elementuiauto
分享给朋友:

相关文章

修改elementui的样式

修改elementui的样式

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

selectable elementui

selectable elementui

使 ElementUI 组件可选中 ElementUI 默认情况下没有直接提供 selectable 功能的组件,但可以通过以下方法实现可选中效果。 使用 el-checkbox 实现单个选中 通…

elementui重写

elementui重写

重写 Element UI 组件的方法 Element UI 是一个基于 Vue.js 的组件库,重写其组件可以通过以下几种方式实现,具体取决于需求场景。 全局样式覆盖 通过修改 CSS 变量或覆…

elementui echarts

elementui echarts

ElementUI 与 ECharts 集成指南 ElementUI 是饿了么团队开发的 Vue.js 组件库,ECharts 是百度开源的 JavaScript 图表库。两者结合可快速构建数据可视化…

elementui $loading

elementui $loading

ElementUI $loading 使用方法 ElementUI 的 $loading 方法用于在页面或组件中显示加载状态,通常用于异步操作(如网络请求)期间提供视觉反馈。以下是其核心用法和配置选项…

elementui抖动

elementui抖动

ElementUI 抖动问题解决方法 ElementUI 组件在使用过程中可能出现抖动问题,通常是由于动画、布局或渲染优化不足导致。以下是几种常见的解决方案: 调整过渡动画 ElementUI 部分…