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

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

远程搜索

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

<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 属性可以禁用自动完成。

<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 组件的常见用法和配置选项,可以根据实际需求进行调整。

elementui auto

标签: elementuiauto
分享给朋友:

相关文章

elementui响应式布局

elementui响应式布局

响应式布局基础概念 响应式布局指页面能够根据屏幕尺寸自动调整结构和样式,确保在不同设备上呈现良好的用户体验。Element UI 基于 Vue.js,其组件默认支持响应式设计,但需结合 CSS 媒体查…

elementui中文网

elementui中文网

Element UI 中文网相关信息 Element UI 是一款基于 Vue.js 的开源 UI 组件库,由饿了么前端团队开发和维护。以下是关于 Element UI 中文网的相关信息: 官方网站…

elementui获取input的值

elementui获取input的值

获取 input 值的常用方法 在 Element UI 中,可以通过 v-model 双向绑定或 ref 引用的方式获取 input 组件的值。 使用 v-model 双向绑定 <te…

elementui升级plus

elementui升级plus

Element UI 升级到 Element Plus 的方法 Element Plus 是 Element UI 的升级版本,专为 Vue 3 设计,提供了更好的性能和更多新特性。以下是升级的具体步…

elementui table

elementui table

ElementUI Table 基本用法 ElementUI 的 Table 组件用于展示结构化数据,支持排序、筛选、分页等功能。以下是一个基础示例: <template> &l…

elementui使用

elementui使用

安装 Element UI 通过 npm 或 yarn 安装 Element UI: npm install element-ui --save # 或 yarn add element-ui 在项…