所以,我有一个角度材料数据表,它是用json文件中的列和数据动态填充的。我现在在标准td
元素中使用interpolation->{{element[column]}}
填充每一行。当我单击一行时,我可以高亮显示该特定行,但我想将td
从{{element[column]}}
更改为form
。因此,基本上我想在点击行时将这一行更改为form
元素。我不知道该怎么办。
我曾尝试使用ngIf
在ng模板之间进行更改,但当我单击该行时,它会更改每一行。我只想更改我特别点击的行的html元素。任何帮助或指导都将不胜感激。由于公司的限制,我实际上无法上传任何代码,但我可以使用下面的模拟代码来显示我的问题。
我有
<ng-container [matColumnDef]="column" *ngFor="let column of displayedColumns">
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{column}} </th>
<td mat-cell *matCellDef="let element">
{{element[column]}}
</td>
</ng-container>
当我单击特定行时,我想将当前的td
元素更改为具有input
的form
,但仅更改该特定行,而不是所有行。
我建议将表和内容分开。因此,定义一个表示单元格内容的新组件,点击后将转换为表单。
例如,请参见:https://stackblitz.com/edit/angular-q46mwh