方法一:只是改变显隐,那么数据还是原先的数据,不影响操作(从左选到右,或者从右选到左)
search(){
this.arr.forEach((v,k)=>{
if(v.deviceName.indexOf(this.searchName)>-1){
v.hideFlag=false;
}else{
v.hideFlag=true;
}
})
}
html中:
<ul>
<li *ngIf="!item.hideFlag">content</li>
</ul>
// 也可以通过css控制显隐
默认hideFlag没有,为false,所以使用!hideFlag,当没有搜索到 的时候,赋值true,把该条隐藏,那么实现了前端过滤。
方法二:用一个数组来保留原始数据,其他的筛选根据过滤条件赋值。
var originArr=[ ];
var list=filter过后的数据。
或者使用后端过滤数据,每次模糊搜索都去调用接口。