vue实现多条件和模糊搜索功能
本文实例为大家分享了vue实现多条件和模糊搜索的具体代码,供大家参考,具体内容如下
html
请选择 男 女 不是人
本文实例为大家分享了vue实现多条件和模糊搜索的具体代码,供大家参考,具体内容如下
html
请选择 男 女 不是人
js
exportdefault{ name:'styleTest', data(){ return{ formData:{ name:'', phone:'', sex:'', }, realList:[], list:[ { name:'张址', phone:18715023011, sex:1, }, { name:'张三', phone:18715023012, sex:2, }, { name:'李四', phone:18715023013, sex:1, }, { name:'赵武', phone:18715023014, sex:2, }, { name:'晋南', phone:18715023015, sex:1, }, { name:'张东', phone:18715023016, sex:2, }, ], }; }, filters:{ filterSex(val){ switch(val){ case1: return'男'; break; case2: return'女'; break; case3: return'不是人'; break; default: return'男'; } }, }, computed:{ //realList(){ //let{name,phone,sex}=this.formData; //if(name&&phone&&sex){ //returnthis.list; //} //}, }, created(){ this.search({}); }, methods:{ search({name,phone,sex}){ this.realList=this.list.filter(item=>{ letmatchName=true;//姓名筛选 letmatchSex=true;//性别筛选 letmatchPhone=true;//号码筛选 if(sex){ matchSex=item.sex==sex; } if(phone){ //console.info(Object.prototype.toString.call(phone)); matchPhone=item.phone==phone; } if(name){ //模糊搜索; constkeys=name .toUpperCase()//转大写 .replace('','')//删掉空格 .split('');//切割成单个字 matchName=keys.every(key=>item.name.toUpperCase().includes(key)); } returnmatchName&&matchPhone&&matchSex; }); }, }, };
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。