Я получаю это сообщение «Ошибка: поле mat-form-field должно содержать matformfieldcontrol» при использовании mat native select - PullRequest
0 голосов
/ 30 октября 2019

Я использую угловой выбор материала и получаю error: mat-form-field must contain a matformfieldcontrol

HTML:

<mat-form-field>
     <select matNativeControl formControlName="xyz" required>
             <option [value]="a">A</option>
             <option [value]="a">B</option>
             <option [value]="a">C</option>
     </select>
</mat-form-field>

Я импортировал модули MatFormFieldModule, MatInputModule, MatSelectModule, MatOptionModule, в мой app.module. ts

app.module.ts:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
import { MatFormFieldModule, MatInputModule, MatSelectModule, MatOptionModule } from '@angular/material';

@NgModule({
imports: [
    CommonModule,
    ReactiveFormsModule,
    FormsModule,
    MatFormFieldModule,
    MatInputModule,
    MatSelectModule,
    MatOptionModule
  ],
})

Я также использовал <input> в той же форме, и это работает нормально. Но получение этой конкретной ошибки только в <select>.

Не удалось найти для него решения.

1 Ответ

0 голосов
/ 30 октября 2019

Вам необходимо использовать теги mat-select и mat-option здесь

<mat-form-field>
    <mat-select matNativeControl formControlName="xyz">
        <mat-option value="a">A</mat-option>
        <mat-option value="b">B</mat-option>
    </mat-select>
</mat-form-field>

, и ввод работает нормально, потому что мы исправили его как

<input type="text" matInput formControlName="carrierName" placeholder="CarrierName">
...