1. 程式人生 > >前端陣列過濾

前端陣列過濾

方法一:只是改變顯隱,那麼資料還是原先的資料,不影響操作(從左選到右,或者從右選到左)

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過後的資料。

或者使用後端過濾資料,每次模糊搜尋都去呼叫介面。