簡體   English   中英

Angular 4-從表中刪除多行

[英]Angular 4 - Remove multiple rows from table

我已經能夠使用拼接從表中刪除一行。 我現在要刪除多行

html

<tr *ngFor="let member of members; let i = index;">
    <td>
      <input type="checkbox" (change)="selChk(member.id, i)"  
      [checked]="false">
    </td>
</tr>

因此每個循環的每一行都將被標記為0、1、2、3、4 ...

零件

以下是我選中的復選框的ID列表。

例如,當我檢查第一行和第二行時。 它將得到行0,1。 然后我將點擊刪除多個按鈕以使用行將記錄拼接起來

selChk(val:number, ind:number) {

  var i =  this.id.indexOf(val);
   if(i === -1){
     this.id.push(val);
     this.ind.push(index);
   }else{
     this.id.splice(index,1);
   }

}

單擊刪除多個按鈕時,以下代碼將觸發。 返回要刪除的正確行。 但我不知道如何拼接多個

 removeSel() {
   console.log(this.ind);
  }

在您的組件代碼中添加以下功能:

 removeSel() {
  this.members = this.members.filter((_, idx) =>this.ind.indexOf(idx) === -1)
 }

單擊“刪除多個”按鈕時,調用此removeSel函數: (click) = "removeSel()"

參考: MDN過濾器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM