Angular 使用Mat表格进行内联文本编辑:
是否有人能很好地解决将内联文本编辑添加到一列中的问题,您可以在该列中使用mat table进行编辑、保存和重新编辑,如本例所示: 在gitHub上,这似乎仍然是一个悬而未决的问题:Angular 使用Mat表格进行内联文本编辑:,angular,inline,mat-table,Angular,Inline,Mat Table,是否有人能很好地解决将内联文本编辑添加到一列中的问题,您可以在该列中使用mat table进行编辑、保存和重新编辑,如本例所示: 在gitHub上,这似乎仍然是一个悬而未决的问题: 在matColumnDef中,您应该有一个和一个,只需使用反应式表单将输入添加到 如果您希望它实际上与材质示例相同,则可以在中的定位相对元素内创建一个位置绝对元素,该元素将在单击、接收和输入时进行投影,并在某些逻辑后关闭,以更新formControl 不过,您仍然需要formControls和编辑matColumn
在matColumnDef中,您应该有一个
和一个
,只需使用反应式表单将输入添加到
如果您希望它实际上与材质示例相同,则可以在中的定位相对元素内创建一个位置绝对元素,该元素将在单击、接收和输入时进行投影,并在某些逻辑后关闭,以更新formControl 不过,您仍然需要formControls和编辑matColumnDef 示例取自github请求的链接
<ng-container matColumnDef="time">
<th mat-header-cell *matHeaderCellDef> time </th>
<td mat-cell *matCellDef="let element; let i = index" [formGroupName]="i">
<input type="text" formControlName="time" placeholder="Time">
</td>
</ng-container>
时间
您提到的git hub问题有一些人们想到的实现
您可以从中获得灵感:
或者这个:
我会仔细研究github问题,看看人们提出的不同选择。很抱歉,我有点过于笼统。我知道那个部分,但你如何使它可编辑和保存。与编辑输入时显示的内容类似,但编辑完成后只显示注释。您可以添加
(keydown.enter)=“onUpdate()”
,以便在输入中按enter键进行更新。。。或者,如果您想在键入时编辑,请添加(键控),或者(模糊)在焦点丢失时编辑,或者(更改)在输入更改时编辑。。。等试试这个,告诉我它是否有效!edit:onUpdate()应该调用formControl.setValue()
,它应该直接从DOM或formControl获取输入。两种方法都很好谢谢我会试试的。你有没有像stackblitz这样的工作示例?很遗憾,我的工作示例是关于与工作相关的项目,我手头没有,也不能公开分享(不过我只会分享重要的部分)…下面是工作示例