Angular Materialチェックボックスを使用して、デフォルトでオンに設定しようとしていますが、チェックなしとして表示されます。何が問題なのですか?
<mat-checkbox class = "example-margin" [(ngModel)] = obj.impresora>
<label>Printer</label>
</mat-checkbox>
obj.impresoraプロパティはブール値です
NgModelで設定するか、[checked]属性で設定できます。 ngModelバインドプロパティは「true」に設定する必要があります。
1。
<mat-checkbox class = "example-margin" [(ngModel)] = "myModel">
<label>Printer </label>
</mat-checkbox>
2。
<mat-checkbox [checked]= "myModel" class = "example-margin" >
<label>Printer </label>
</mat-checkbox>
3。
<mat-checkbox [ngModel]="myModel" class="example-margin">
<label>Printer </label>
</mat-checkbox>
これはAngular 7で機能します
// in component.ts
checked: boolean = true;
changeValue(value) {
this.checked = !value;
}
// in component.html
<mat-checkbox value="checked" (click)="changeValue(checked)" color="primary">
some Label
</mat-checkbox>
私は誰かを助けてくれることを願っています...ご挨拶。誰かが最も簡単なものを持っているかどうか教えてください
選択した答えは機能しますが、htmlタグに「ngModel」があると、チェックボックスがtrueに設定されないというコメントを付けたいと思いました。
これは、checkedプロパティを使用してバインドしようとしているときに発生します。つまり.
<mat-checkbox [checked]='var' ngModel name='some_name'></mat-checkbox>
そして、app.component.tsファイル内
var = true;
動作しないでしょう。
TLDR:[checked]プロパティでチェックを設定している場合、ngModelを削除します
<mat-checkbox [checked]='var' name='some_name'></mat-checkbox>
あなたがとるアプローチに基づいてこれを達成することができるいくつかの方法があります。リアクティブアプローチの場合、FormControlのコンストラクターにデフォルト値を渡すことができます(@ angular/formsからインポート)
this.randomForm = new FormGroup({
'amateur': new FormControl(false),
});
Trueまたはfalseの値の代わりに、はいFormControl(this.booleanVariable)
のように変数名を送信できます
テンプレート駆動アプローチでは、このように1方向バインディング[ngModel]="this.booleanVariable"
または2方向バインディング[(ngModel)]="this.booleanVariable"
を使用できます
<mat-checkbox
name="controlName"
[(ngModel)]="booleanVariable">
{{col.title}}
</mat-checkbox>
angularマテリアルが提供するチェックディレクティブを使用して、同様の方法でバインドすることもできます。
Component.ts内でchecked
プロパティがtrueであることを確認する必要があります
export class CheckboxComponent implements OnInit {
checked = true;
}
これをHTMLで設定します。
<div class="modal-body " [formGroup]="Form">
<div class="">
<mat-checkbox formControlName="a" [disabled]="true"> Display 1</mat-checkbox>
</div>
<div class="">
<mat-checkbox formControlName="b" [disabled]="true"> Display 2 </mat-checkbox>
</div>
<div class="">
<mat-checkbox formControlName="c" [disabled]="true"> Display 3 </mat-checkbox>
</div>
<div class="">
<mat-checkbox formControlName="d" [disabled]="true"> Display 4</mat-checkbox>
</div>
<div class="">
<mat-checkbox formControlName="e" [disabled]="true"> Display 5 </mat-checkbox>
</div>
</div>
Tsファイルの変更
this.Form = this.formBuilder.group({
a: false,
b: false,
c: false,
d: false,
e: false,
});
Urビジネスロジックの条件検証
if(true){
this.Form.patch(a: true);
}
NgModelで確認するには、「ngModel」と「value」をマージします。例:
<mat-checkbox [(ngModel)]="myVariable" value="1" >Subscribe</mat-checkbox>
ここで、myVariable = 1
挨拶
コンポーネントに次のコードがあることを確認してください。
export class Component {
checked = true;
}
リアクティブフォームを使用している場合は、次のようにデフォルトに設定できます。
フォームモデルで、値をfalseに設定します。そのため、チェックされている場合、その値はtrueになり、そうでない場合はfalse
let form = this.formBuilder.group({
is_known: [false]
})
// HTMLで
<mat-checkbox matInput formControlName="is_known">Known</mat-checkbox>