我有一个带有两个复选框的反应式表单组。如果未选中pacct复选框,如何取消选中支持复选框?
this.userForm = this.fb.group({
phone: [this.data.phoneContact.data, [Validators.required, Validators.pattern('^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$')]],
paiosfg: this.fb.group({
pacct: [this.data.pAccountId > 0],
support: [this.data.isSupportLic]
}),
});
HTML
...
<div formGroupName="paiosfg">
<mat-checkbox formControlName="pacct">PACCT</mat-checkbox>
<mat-checkbox style="margin-left: 40px;" formControlName="support">support license</mat-checkbox>
</div>
...
答案 0 :(得分:0)
我不确定您想何时重置什么。但是您可以只使用Form.reset()方法。要重置表单的所有字段,请执行以下操作:
this.myform.reset();
要重置表单的指定字段,请执行以下操作:
this.myform.controls['FIELD_NAME'].reset();
答案 1 :(得分:0)
你在这里
this.userForm.get('pacct').valueChanges.pipe(
filter((value: boolean) => !value) // continue only if 'pacct' unchecked
).subscribe((value: boolean) =>
this.userForm.get('support').setValue(value); // update value of 'support'
)