代码之家  ›  专栏  ›  技术社区  ›  Patricio Vargas

角度重置ngForm的最佳方法

  •  -2
  • Patricio Vargas  · 技术社区  · 6 年前

    我正在使用一个ngForm,它位于一个可以切换的侧边栏中。侧边栏是输入andress、支付信息等的文本字段。实际上,我想重置表单,我知道我可以销毁包含表单的组件,也可以重置表单(如下面的示例)。哪一个更好用,为什么?

    <form #heroForm="ngForm">
        ...
        <button type="button" class="btn btn-default" (click)="newHero(); heroForm.reset()">New Hero</button>
    </form>
    

    我看了一眼这个queston Cleanest way to reset forms

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ganesh    6 年前

    @帕特里西奥·瓦加斯。。尝试分配 null 到中的表单字段 newHero() heroForm 那么代码将是

        public hero= new Hero();
    
        newHero() {
         //do your logic here after that
         this.hero.name= '';
         this.hero.age= '';
         this.hero.active = null;
        }
    

    在最新的角度中,基于模型的窗体不使用 formsName.reset() 所以这会解决你的问题。。否则你看这里 https://angular.io/guide/forms#submit-the-form-with-ngsubmit