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

elementui搜索

2026-03-06 07:53:16前端教程

ElementUI 搜索功能实现方法

输入框搜索

使用 el-input 组件结合 v-model 实现基础搜索功能,通过监听输入变化触发搜索逻辑。

<el-input v-model="searchText" placeholder="请输入搜索内容" @input="handleSearch" />
methods: {
  handleSearch() {
    this.filteredData = this.originalData.filter(item => 
      item.name.includes(this.searchText)
    )
  }
}

表格内搜索

结合 el-tablefilter-method 属性实现表格列过滤,需配合 scoped slot 使用。

<el-table :data="tableData">
  <el-table-column prop="name" label="姓名">
    <template #header>
      <el-input v-model="searchName" size="mini" placeholder="搜索姓名"/>
    </template>
  </el-table-column>
</el-table>

远程搜索

使用 el-autocomplete 组件实现异步搜索建议,需配置 fetch-suggestions 方法。

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

复合搜索条件

结合 el-form 实现多条件组合搜索,适用于复杂查询场景。

<el-form :inline="true" @submit.native.prevent="handleSearch">
  <el-form-item label="名称">
    <el-input v-model="form.name" placeholder="名称"/>
  </el-form-item>
  <el-form-item label="状态">
    <el-select v-model="form.status" placeholder="状态">
      <el-option label="启用" value="1"/>
      <el-option label="禁用" value="0"/>
    </el-select>
  </el-form-item>
  <el-form-item>
    <el-button type="primary" native-type="submit">搜索</el-button>
  </el-form-item>
</el-form>

搜索优化技巧

添加防抖处理避免频繁触发搜索请求,提升性能。

import { debounce } from 'lodash'

methods: {
  handleSearch: debounce(function() {
    // 搜索逻辑
  }, 500)
}

样式自定义

通过修改 CSS 变量或覆盖默认样式实现搜索组件个性化。

elementui搜索

.el-input__inner {
  border-radius: 20px;
}
.el-autocomplete-suggestion li {
  padding: 0 20px;
}

标签: elementui
分享给朋友:

相关文章

elementui升级plus

elementui升级plus

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

elementui视频

elementui视频

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

elementui面板

elementui面板

ElementUI 面板组件 ElementUI 提供了 el-collapse 和 el-collapse-item 组件来实现面板(折叠面板)功能。以下是如何使用这些组件的详细说明: 安装 El…

elementui require

elementui require

ElementUI 引入方式 ElementUI 可以通过多种方式引入到项目中,具体选择取决于项目需求和开发环境。 npm 安装 适用于 Vue.js 项目,通过 npm 或 yarn 安装 El…

elementui progress

elementui progress

Element UI Progress 组件 Element UI 提供了一个 Progress 组件,用于展示操作的当前进度。该组件支持多种样式和配置选项,适用于文件上传、任务完成度等场景。 基本…

elementui加减

elementui加减

ElementUI 加减组件实现方法 ElementUI 提供了 InputNumber 组件用于数字输入和加减操作,支持设置步长、最小值和最大值等属性。 基础用法 <el-input-nu…