angular 5を使用していますが、コンソールエラーが表示されます。
「mat-option」の既知のプロパティではないため、「ngValue」にバインドできません
テンプレートは次のようになります。
<mat-select placeholder="Select Book" name="patient" [(ngModel)]="selectedBook">
<mat-option *ngFor="let eachBook of books" [ngValue]="eachBook">{{eachBook.name}}</mat-option>
</mat-select>
MatSelectModule
とMatOptionModule
の両方をインポートしました。
どうすればこれを解決できますか?
値を使用する必要があります
[value]="eachBook"
受け入れられた答えは解決策ではなく、回避策です。value
および[ngValue]
はさまざまな目的に役立ちます。 value
は単純な文字列値に使用できますが、[ngValue]
は、文字列以外の値をサポートするために必要です。
ドキュメントごと:
FormsModuleまたはReactiveFormsModuleをインポートした場合、この値アクセサーは、フォームディレクティブを持つ選択コントロールでアクティブになります。有効にするために特別なセレクタを追加する必要はありません。
このエラーが発生する場合は、FormsModule
またはReactiveFormsModule
のいずれかをアプリにインポートする必要があります。
たとえば、app.module.ts
:
import { FormsModule } from '@angular/forms';
// ...
imports: [
FormsModule,
...
]
私は同じ問題に出会いました。私にとっての解決策は、「ReactiveFormsModule」をインポートすることです。したがって、[ngValue]
オブジェクトをバインドします。