web-dev-qa-db-ja.com

Angular 5でマテリアルデザインをオフにしてマットスライドトグルを初期化する方法は?

リアクティブフォームでマットスライドトグルを初期化できません。

テンプレートのようなものがあります

<mat-slide-toggle name="X" formControlName="X" color="primary"></mat-slide-toggle>

そしてコントローラーで私はやっています

X:  new FormControl(true, [
      Validators.required
    ])

また、trueの代わりに1または0またはfalseを試してみましたが、デフォルト値を選択しても取得できませんでした。

誰かが私を助けてくれれば幸いです、ありがとう。

5
ackuser

私見、コードに問題があります。あなたはこのようなことをするべきです:

<mat-slide-toggle [formControlName]="X" [checked]="X.value" (click)="X.value =!X.value" color="primary">{{X.value ? 'ON' : 'OFF'}}</mat-slide-toggle>              

そしてコントローラではformControlを割り当てる必要があるので、=の代わりに:を使用します。つまり、

 X = new FormControl(true, [
      Validators.required
 ]);
7
BlackBeard