如何将角度数据表td元素从{{element [column]}}更改为输入表单字段

时间:2018-11-30 07:49:02

标签: angular typescript angular-material angular-datatables

因此,我有这个棱角材料数据表,其中动态填充了json文件中的列和数据。我现在使用interpolaton-> {{element[column]}}在标准td元素内填充每一行。当我单击一行时,可以突出显示该特定行,但是我想将td{{element[column]}}更改为form。因此,基本上我想在单击某行时将该行更改为form元素。我不确定该如何处理。

我尝试使用ngIf在ng-templates之间进行更改,但是当我单击该行时,它会更改每一行。我只想更改我专门单击的行的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的{​​{1}}时,我想将当前form元素更改为input,但仅更改该特定行,而不是所有行。

1 个答案:

答案 0 :(得分:0)

我建议将表格和内容分开。因此,定义一个代表您单元格内容的新组件,单击该组件即可将其转换为表单。

例如参见:LocalizableContent