Fof*_*ole 3 angular2-forms angular
我有一个 formGroup,我在编辑模式下打开它并使用正确的数据进行初始化。我还将这个初始数据保存在 editForm 中。
对其进行更改后,我想将所有更改重置为初始值,例如:
this.formGroup.reset(this.staffToEdit);
Run Code Online (Sandbox Code Playgroud)
但这一切所做的一切只是在每个领域都留有空白。我发现的唯一解决方法是做类似的事情
this.formGroup.reset({field1 : this.editForm.field1});
...
Run Code Online (Sandbox Code Playgroud)
问题是我需要一些更通用的东西,将所有字段重置为其初始值,而不必遍历每个 formControl。
这可以吗?
好吧,这是一个奇怪的交互,但我终于解决了它。
最初,我在表单中设置了重置按钮:
<form .. >
.....
<div>
<button id="resetButton"
type="reset"
class="btn btn-primary"
(click)="resetFormData()"> Reset
</button>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
将按钮从表单中拉出后,我只需在 ngOnInit 之后保存初始值:
this._originalData = this.formGroup.value;
Run Code Online (Sandbox Code Playgroud)
之后当我想重置时我使用
protected resetFormData() {
this.formGroup.setValue(this._originalData);
}
Run Code Online (Sandbox Code Playgroud)
如果将按钮保留在表单中,则无法使用它来更新表单控件值!
| 归档时间: |
|
| 查看次数: |
5620 次 |
| 最近记录: |