首页 > 解决方案 > 行正在添加,而动态列正在使用 Angular 8 添加到 Mat-Table

问题描述

在将动态列添加到 mat 表中时,行与列一起添加。但不想在添加列时将行添加到表中。

我有需要作为列动态添加/删除到表中的项目列表。单击该项目时,该项目将作为列添加到表中,同时添加一行。不想将行添加到表中。

如果将 5 个项目添加为列,则将 5 行添加到表中。

您可以检查问题https://stackblitz.com/edit/angular-pg9fie

标签: angularangular-materialmat-table

解决方案


每次添加列时,您似乎都在向数据源添加新行。从您的代码:

this.selectedOptions.forEach(element => {
  this.tableDataSource.push(element.name); // this is adding a row
});

相反,您只想将该列添加到显示的列列表中。您的代码也存在其他问题,所以我只是分享一个我认为您正在寻找的功能示例:

https://stackblitz.com/edit/angular-material-table-dynamic-columns?embed=1&file=app/app.html


推荐阅读