angular-Forms patchValue and setValue
5097 ワード
参考:1.修正の道https://segmentfault.com/a/1190000009090037
setValueとpatchValueの違い:
1つ1つのsetValueメソッドを使用できます.
setValueとpatchValueの違い:
setValue
:使用時にfrom control
ごとに値を設定する必要があります.そうでなければ、ERROR Error: Must supply a value for form control with name: 'xxxxx'
patchValue
:パッチ適用と同様に、from control
ごとに値を設定する必要はありません.1つ1つのsetValueメソッドを使用できます.
// setValue
this.validateForm.get('note')!.setValue(value === 'male' ? 'Hi, man!' : 'Hi, lady!');
//
requiredChange(required: boolean): void {
if (!required) {
this.validateForm.get('nickname')!.clearValidators(); //
this.validateForm.get('nickname')!.markAsPristine();
} else {
this.validateForm.get('nickname')!.setValidators(Validators.required); //
this.validateForm.get('nickname')!.markAsDirty(); //
}
this.validateForm.get('nickname')!.updateValueAndValidity(); //
}