使用Vue2+element-ui组件库实现一个模糊搜索功能
时间: 2024-04-30 10:17:41 浏览: 176
好的,下面是实现模糊搜索的步骤:
1. 安装Element UI组件库
在Vue项目中使用Element UI组件库需要先安装它,可以使用npm或yarn命令进行安装。具体命令如下:
使用npm安装:`npm i element-ui -S`
使用yarn安装:`yarn add element-ui`
2. 引入Element UI组件
在Vue项目中需要使用Element UI组件,首先需要在main.js中引入Element UI组件。具体代码如下:
```javascript
import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)
```
3. 实现模糊搜索功能
在Vue组件的template标签中添加一个el-input组件和el-table组件,其中el-input组件用于输入关键词进行搜索,el-table组件用于显示搜索结果。具体代码如下:
```html
<template>
<div>
<!-- el-input组件 -->
<el-input placeholder="请输入关键词" v-model="keyword" @input="handleSearch"></el-input>
<!-- el-table组件 -->
<el-table :data="tableData">
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="age" label="年龄"></el-table-column>
<el-table-column prop="gender" label="性别"></el-table-column>
</el-table>
</div>
</template>
```
在Vue组件的script标签中,定义data属性,其中包含tableData数组和keyword字符串。tableData数组用于存储搜索结果,keyword字符串用于存储搜索关键字。同时,在methods中定义handleSearch方法,该方法用于实现模糊搜索功能。具体代码如下:
```javascript
<script>
export default {
data() {
return {
tableData: [
{ name: '张三', age: 18, gender: '男' },
{ name: '李四', age: 20, gender: '女' },
{ name: '王五', age: 22, gender: '男' },
],
keyword: ''
}
},
methods: {
handleSearch() {
if (!this.keyword) {
// 如果keyword为空,显示所有数据
this.tableData = [
{ name: '张三', age: 18, gender: '男' },
{ name: '李四', age: 20, gender: '女' },
{ name: '王五', age: 22, gender: '男' },
]
} else {
// 使用filter方法实现模糊搜索
this.tableData = this.tableData.filter(item => item.name.includes(this.keyword))
}
}
}
}
</script>
```
以上代码实现了一个简单的模糊搜索功能,当在el-input组件中输入关键词时,el-table组件会根据关键词进行模糊搜索,并显示搜索结果。如果关键词为空,el-table组件会显示所有数据。
阅读全文