TypeScript:如何从材料数据表中弹出选定的行?

时间:2018-12-20 17:28:02

标签: angular typescript angular-material pop

我将材料数据表用于我的角度项目。我使用动态表,在该表中添加和删除数据。如何从数据表中弹出给定的行? 当然流行不起作用。我还使用了splice(row, 1),它也没有用(也许我用错了)。

“行”的类型:行是一个对象(由4个数字组成的数组)。

该行的日志:

{sender: "7", recipient: "1", amount: "1", fee: "1"}

在数据表中单击复选框(每行都有一个复选框)时,我要删除该行。复选框确定要删除的行:

<mat-checkbox (click)="$event.stopPropagation(); putTXInBlock(row);"
                      (change)="$event ? selection.toggle(row) : null"
                      [checked]="selection.isSelected(row)">
</mat-checkbox>

该行应删除的位置:

  putTXInBlock(row) {
    this.temp = this.dataSource.data.slice();
    this.temp.pop(); // pop input parameter row
    this.dataSource.data = this.temp;
    this.ref.detectChanges();
    this._TS.emitTransaction(row);
  }

1 个答案:

答案 0 :(得分:2)

您可以使用traceMarker从索引处的数组中删除一个元素。

traceEvent

对于您的问题,您无法Array.prototype.splice,因为for(var i = 0; i < this.temp.length; i++){ if(JSON.stringify(row) === JSON.stringify(this.temp[i]) ){ this.temp.splice(i,1); break; } } 只能删除数组中的最后一个元素。