实现模糊搜索时Vuex的computed踩坑记录

1,使用场景

列表数据是从vuex中返回的,computed中引入state的值并渲染

模糊搜索功能,点击搜索时发现使用

filter不生效,我搜索的时对象数组,添一下不生效的源代码

search (e) {
				 this.lost =  this.lost.filter((item)=>{
					return Object.keys(item).some(function(key) {
						return String(item[key]).toLowerCase().indexOf(e.value) > -1
					})
				});
			},

2,发现问题 

​​​​​对vuex中的state的值更改只能通过mutation方法进行更改,像上图中的方法是无效的,所以模糊搜索不生效

3,解决问题

在vuex中的mutation中添加方法

mutations: {
		search(state,info){
			state.lost =  state.lost.filter((item)=>{
				return Object.keys(item).some(function(key) {
						return String(item[key]).toLowerCase().indexOf(info) > -1
					})
			});
		},
	
	}

然后要需要模糊搜索的页面中进入引入该方法,在模糊搜索中进行调用该方法传入我们在搜索框中输入的值即可,没值的时候重新发起一次异步请求获取数据

search2(e){
	if(e.value != ''){
		this.search(e.value)
	}else{
		this.$store.dispatch("getLostList")
		}	
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值