使用 Mat-table 进行内联文本编辑:

Inline text editing with Mat-table:

有没有人有一个很好的解决方案来将内联文本编辑添加到一个列中,您可以在其中使用 mat table 进行编辑、保存和重新编辑,就像这个例子一样: https://material.io/design/components/data-tables.html#behavior 它看起来仍然是 gitHub 上的未解决问题:https://github.com/angular/material2/issues/5982

在您的 matColumnDef 中,您应该有一个 <th></th> 和一个 <td></td>,只需将输入添加到具有反应形式的 <td></td>


如果您希望它与 material 示例几乎相同,您可以在 内的相对定位元素内创建一个位置绝对元素,该元素将在点击、接收和输入以及关闭时提示经过一些逻辑,更新 formControl。

仍然,您需要 formControls,并编辑 matColumnDef。

示例取自 github 请求的 link

      <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 集线器问题有一些人们提出的实现。

你可以从中得到启发:

https://stackblitz.com/edit/material2-beta12-es19ub?file=app%2Fapp.component.html

或者这个: https://stackblitz.com/edit/angular-g5u7cy?file=app%2Ftable-editing-example.html

我会通过 github 问题来了解人们提出的不同选择。