Ошибка использования mat-checkbox в редактируемой таблице материалов

Я создал редактируемый с помощью Angular Material, когда строка находится в редактируемом состоянии, каждая ячейка будет отображать поле ввода в зависимости от того, какой тип данных отображается, например если ячейка является строкой, у нее будет поле ввода типа «текст».

<mat-form-field>
   <mat-label> {{column}} </mat-label>
   <input type="text" matInput [(ngModel)]="element[column]"/>
</mat-form-field>

Это отлично работает при использовании текста или числа, но я также хочу иметь логический флажок, но когда я пытаюсь использовать mat-checkbox вместо ввода, я получаю сообщение об ошибке «поле mat-form должно содержать MatFormFieldControl.». Хотя я использую ngModel то же самое, что и текст и числа.

<div *ngIf="column === 'checkType'>
   <mat-checkbox [(ngModel)]="element[column]"></mat-checkbox>
</div> 

Любая помощь будет принята с благодарностью.


person SkinnyBetas    schedule 13.01.2021    source источник


Ответы (1)


В настоящее время вы не можете использовать mat-checkbox внутри mat-form-field (не поддерживается): см. https://github.com/angular/components/issues/7891.

Поэтому, когда вы используете mat-checkbox, не вкладывайте его в mat-form-field. Вы можете присвоить ему formControlName или [(ngModel)] напрямую, без поля mat-form.

<mat-checkbox [(ngModel)]="myVariable">
person iamaword    schedule 13.01.2021