我使用 Angular Material 创建了一个可编辑的,当一行处于可编辑状态时,每个单元格将根据显示的数据类型显示一个输入字段,例如如果单元格是一个字符串,它将有一个“文本”类型的输入字段。
<mat-form-field>
<mat-label> {{column}} </mat-label>
<input type="text" matInput [(ngModel)]="element[column]"/>
</mat-form-field>
这在使用文本或数字时工作正常,但我也想有一个布尔复选框,但是当我尝试使用 mat-checkbox
而不是输入时,我收到错误'mat-form-field must contain a MatFormFieldControl.'。尽管我使用 ngModel
的方式与使用文本和数字的方式相同。
<div *ngIf="column === 'checkType'>
<mat-checkbox [(ngModel)]="element[column]"></mat-checkbox>
</div>
任何帮助将不胜感激。
答案 0 :(得分:0)
目前您不能在 mat-checkbox
内使用 mat-form-field
(不支持):参见 https://github.com/angular/components/issues/7891
因此,当您使用 mat-checkbox
时,不要将其嵌套在 mat-form-field
中。你可以直接给它一个 formControlName
或 [(ngModel)]
,不用 mat-form-field。
<mat-checkbox [(ngModel)]="myVariable">