通过单击 mat-table angular8 中上一行的按钮动态添加行?
Adding row dynamically by click on the button of the previous row in mat-table angular8?
我想在添加行 button/icon 单击上一行时添加新的空行。截至目前,我正在通过单击 table 外部的按钮向 table 添加新行。但我需要 button/icon 附加一列与该行。如果我单击第一行添加图标,新的空行将添加到 table 并且用户可以输入详细信息。
我在这里也动态添加列。即通过单击按钮将列动态添加到 table。对于相同的 table,我需要按照说明动态添加行 previously.I' 我无法做到这一点。我还没有找到任何解决方案?
这里是 stackbliz:https://stackblitz.com/edit/angular-tfro3c
我不熟悉 Material,所以我在你的 stackblitz 的一个分支中创建了一个原始版本:https://stackblitz.com/edit/angular-veunf6
ts
dynamicRows: number[] = [];
addNew() {
this.dynamicRows.push(this.dynamicRows.length);
}
html
<table>
<thead>
<tr>
<th></th>
<th>Header</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let row of dynamicRows; let i = index">
<td>
<button *ngIf="i === dynamicRows.length - 1" (click)="addNew()">Add New</button>
</td>
<td>{{row}}</td>
</tr>
<tr *ngIf="dynamicRows.length === 0">
<td>
<button (click)="addNew()">Add New</button>
</td>
<td></td>
</tr>
<tr></tr>
</tbody>
</table>
这里的想法是按钮始终在每一行的 html 中声明,但仅当循环位于最后一行时才显示。
我不确定您想如何处理没有行的初始情况,所以我只是在其中放置了一个静态行。你可能想做得更好。
我想在添加行 button/icon 单击上一行时添加新的空行。截至目前,我正在通过单击 table 外部的按钮向 table 添加新行。但我需要 button/icon 附加一列与该行。如果我单击第一行添加图标,新的空行将添加到 table 并且用户可以输入详细信息。
我在这里也动态添加列。即通过单击按钮将列动态添加到 table。对于相同的 table,我需要按照说明动态添加行 previously.I' 我无法做到这一点。我还没有找到任何解决方案?
这里是 stackbliz:https://stackblitz.com/edit/angular-tfro3c
我不熟悉 Material,所以我在你的 stackblitz 的一个分支中创建了一个原始版本:https://stackblitz.com/edit/angular-veunf6
ts
dynamicRows: number[] = [];
addNew() {
this.dynamicRows.push(this.dynamicRows.length);
}
html
<table>
<thead>
<tr>
<th></th>
<th>Header</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let row of dynamicRows; let i = index">
<td>
<button *ngIf="i === dynamicRows.length - 1" (click)="addNew()">Add New</button>
</td>
<td>{{row}}</td>
</tr>
<tr *ngIf="dynamicRows.length === 0">
<td>
<button (click)="addNew()">Add New</button>
</td>
<td></td>
</tr>
<tr></tr>
</tbody>
</table>
这里的想法是按钮始终在每一行的 html 中声明,但仅当循环位于最后一行时才显示。
我不确定您想如何处理没有行的初始情况,所以我只是在其中放置了一个静态行。你可能想做得更好。