代码之家  ›  专栏  ›  技术社区  ›  Akash

在角5中单击“取消更改”按钮,恢复窗体中的模态原始状态

  •  0
  • Akash  · 技术社区  · 6 年前

    我正在开发Angular 5应用程序,并使用反应形式的FormArray。 当用户在一个或多个FormGroup中进行一些更改,然后改变主意,点击“取消更改”按钮,那么如何恢复组件模型的初始状态??

    我试着在官方网站上找这个

    3 回复  |  直到 6 年前
        1
  •  0
  •   Suresh Kumar Ariya    6 年前

    您需要具有原始窗体对象状态。

    let original = {
       fname: '',
       lname: '',
       date: ''
    };
    

    从原始对象复制

    let copied = Object.assign({}, original);
    

        2
  •  0
  •   Chrillewoodz    6 年前

    重置方法如下:

    const originalState = {foo: 'bar'};
    
    public myForm = this.fb.group(originalState);
    
    resetMyForm() {
      this.myForm.reset(originalState);
    }
    

    reset() 将所有控件设置为 null

        3
  •  0
  •   Akash    6 年前

    不知何故,重置函数不是我想要的,所以我最终使用下面的函数重置formarray,

    purgeForm(form: FormArray) {
        while (0 !== form.length) {
          form.removeAt(0);
        }
      }