vue+element 实现表格的模糊搜索功能

首先我们先把实现需求内容写出来
一个input框加一个点击按钮,
也可以不用点击按钮触发,在watch里监听input框绑定值也可以,
具体看业务需求
我在下面以input框加点击按钮举例说明


 1. [创建个input框] 
 2. [创建按钮给事件]
 3. [对接口重新赋值表格数据]
 //我们直接从element拿过来input基本用法就行 需要的改动自行调节
<el-input v-model="input" placeholder="请输入名称查询"></el-input>
//通过点击按钮触发需要给按钮加一个点击事件
<el-button icon="el-icon-search" circle @click="search"></el-button>

<script>
export default {
  data() {
    return {
      name: ''//input框绑定的输入值
    }
  },
  methods:{
  //模糊搜索事件
  //以axios get 请求为例
  	search(){
  		let params ={
  		//这里看你们搜索接口需要拼接什么
  		//以接口需要拼接name为列子
  			name:this.name
		};
		this.$axios
			.get(模糊查询调用的接口,{params})
			.then((res)=>{
				if(res.data.code==200){
				//这里在给你原本表格进行赋值操作就可以了
				}
			)
    }
  }
}
</script>
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Element Plus 表格实现模糊查询,你可以使用 `filter-method` 属性来自定义过滤方法。具体实现步骤如下: 1. 在表格的列定义中,为需要进行模糊查询的列添加一个自定义的过滤方法: ```html <el-table-column prop="name" label="姓名"> <template slot-scope="{ row }">{{ row.name }}</template> <el-input v-model="filter.name" size="mini" placeholder="请输入姓名" @input="handleFilter"></el-input> </el-table-column> ``` 在这里,我们为名字列定义了一个自定义的过滤方法 `handleFilter`。同时,我们为该列添加了一个 `el-input` 组件,用于接收用户的输入。 2. 在表格的 `data` 选项中,增加一个 `filter` 属性来保存用户的查询条件: ```js data() { return { filter: { name: '', // 用户输入的名字 }, // ... } }, ``` 在这里,我们为表格的过滤条件增加了一个 `name` 属性,用于保存用户输入的名字。 3. 在组件的 `methods` 中,添加 `handleFilter` 方法来处理用户的查询请求: ```js methods: { // 处理表格的过滤请求 handleFilter() { // 过滤方法 const filterMethod = (value, row, column) => { return row.name.toLowerCase().indexOf(value.toLowerCase()) !== -1; }; // 应用过滤方法 this.$refs.table.filter(filterMethod); }, // ... } ``` 在这里,我们定义了一个过滤方法 `filterMethod`,用于判断某一行的名字是否包含了用户输入的名字。如果包含了,则返回 `true`;否则返回 `false`。然后,我们通过调用表格的 `filter` 方法来应用过滤方法。 实现以上步骤后,当用户在名字列的输入框中输入任何一个字符时,表格会根据用户输入的名字进行模糊查询,并将符合条件的行显示在表格中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值