微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angular – 最简洁的方式来重置表单

在Angular 2最新版本中重置表单的最简洁方法是什么?我想在添加帖子后重置输入文本框.
@Component({
  selector: 'post-div',template: `
            <h2>Posts</h2>
            <form (submit)="addPost()">
                <label>Title: </label><input type="text" name="title" [(ngModel)]="title"><br/>
                <label>Body: </label><input type="text" name="body" [(ngModel)]="body"><br/>
                <input type="submit" value="Add Post">
            </form>
            <ul>
                <li *ngFor="let post of posts">
                    <strong>{{post.title}}</strong>
                    <p>{{post.body}}</p>
                </li>
            </ul>
          `,providers: [PostService]
});

addPost(){
    this.newPost = {
        title: this.title,body: this.body
    }
    this._postService.addPost(this.newPost);
}
<form #myForm="ngForm" (submit)="addPost(); myForm.reset()"> ... </form>

要么:

<form #myForm="ngForm" (submit)="addPost(myForm)"> ... </form>
addPost(form: NgForm){
    this.newPost = {
        title: this.title,body: this.body
    }
    this._postService.addPost(this.newPost);
    form.resetForm(); // or form.reset();
}

为无法完成上述工作的人添加一个示例.

按下按钮:

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

同样适用于上述内容,您也可以选择将表单传递给newHero函数.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐