表单 – Angular 2:重置表单忽略初始值

前端之家收集整理的这篇文章主要介绍了表单 – Angular 2:重置表单忽略初始值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Angular 2应用程序,我为某些输入设置默认值,如下所示:
this._stdSearchForm = this._formBuilder.group({
    count: [{value: 50,disabled: false},Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.pattern("^[0-9]+$")])]
});

我已经添加了这样的“重置”功能

(click)="resetStdSearchForm()"

那只是运行:

this._stdSearchForm.reset();

这会重置表单,但会忽略FormBuilder组中定义的初始值.

这种行为是有意的吗?

重置表单后,我可以以编程方式设置“count”的值吗?我试过这样做:

this._stdSearchForm.value.count = 50;

但这没有改变.

解决方法

您可以尝试以下方法
this._stdSearchForm.setValue({ count: 50});

或者你也可以这样做:

this._stdSearchForm.reset({ count: 50});

重置方法重置FormGroup.这意味着默认情况下:

>该组和所有后代都标记为原始>该组和所有后代都未被标记>所有后代的值将为null或null映射

猜你在找的HTML相关文章