单选按钮清除表单重置角度6上的默认值

时间:2019-05-15 09:31:30

标签: angular angular6 angular-reactive-forms

我有一个反应式表单,其中有一个单选按钮组,该单选按钮组对一个表单变量起作用,直到我重置表单为止。当我重置表格时,两个收音机都被取消选择。

<mat-radio-group aria-label="Select an option" formControlName="IsUnderLc">
   <mat-radio-button value="true" [checked]="workTransactionForm.controls['IsUnderLc'].value == true">
     Under LC
   </mat-radio-button>
   <mat-radio-button value="false[checked]="workTransactionForm.controls['IsUnderLc'].value == false">
     Collection
   </mat-radio-button>
</mat-radio-group>

我想保留一个选择,我什至尝试将这些值修补回去,并在FormGroup中提供默认值,但无济于事。

     this.workTransactionForm.reset();
     this.workTransactionForm.controls.IsUnderLc.setValue(true);

重置表单后,是否有任何方法可以为表单控件设置值?

2 个答案:

答案 0 :(得分:1)

您可以在重置功能中为表单控件传递(新)值。这将重置表格并保留/重新添加您传递的值。 因此您可以使用:

this.workTransactionForm.reset({IsUnderLc: true});

或者如果您想保留一些值:

const currentValue = this.workTransactionForm.get('IsUnderLc').value;
this.workTransactionForm.reset({IsUnderLc: currentValue});

答案 1 :(得分:0)

更改html代码后,我可以解决此问题 来自

<mat-radio-button value="false" [checked]="workTransactionForm.controls['IsUnderLc'].value == false">
     Collection
</mat-radio-button>

收件人

<mat-radio-button value="false>
     Collection
</mat-radio-button>

然后将其重新绑定到.ts文件中,例如

this.workTransactionForm.controls.IsFresh.patchValue(false);
this.workTransactionForm.controls.IsUnderLc.patchValue(false);