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

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响应式布局

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

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

elementui视频

elementui视频

以下是关于 ElementUI 视频资源的整理,涵盖教程、实战案例和官方资源: ElementUI 官方视频资源 ElementUI 官方文档虽以文字为主,但部分社区或第三方平台可能有官方团队发布…

elementui下载

elementui下载

下载Element UI的方法 Element UI可以通过npm或yarn进行安装,也可以直接下载文件引入到项目中。 npm安装方式 npm install element-ui -S yarn…

修改elementui的样式

修改elementui的样式

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