保存 Angular 4 后重置表单

阿雅·阿卜杜拉齐兹

单击“保存”按钮后,我想重置表单 (addUserForm)。我用表单创建了一个模态来输入用户数据,我使用这个表单来编辑数据并创建新数据,并在我重新加载页面并单击以打开输入新用户的模态时,给表单标志创建和更新以区分它们。很明显,但是当我首先单击编辑按钮然后单击新表单时,我找到了我编辑的数据。

onSaveUser 函数:

onUserSave(user: User){
    let newUser = {
        name: user.name,
        role: user.role,
        email: user.email,
        password: user.password,
    }
    if(this.flag == 'create'){
  this.addUserForm.reset();
        this.dataStorageService.storeUsers(newUser);
    }else{
        this.dataStorageService.editUser(this.userId, newUser);
    }
    this.modalRef.close();
    this.addUserForm.reset();
}

这是具有以下形式的组件的 html:

<div [@routerTransition]>
    <app-page-header [heading]="' users '" [icon]="'fa-users'"></app-page-header>

    <a style="margin-right: 15px; cursor:pointer; padding: 0px;" role="button">
    <span (click)="open(content, 'create')"> add Users </span>
        <i class="fa fa-user-plus" style="color: red;"></i>
         <ng-template #content let-c="close" let-d="dismiss">
                    <!-- pop up -->
            <div class="modal-dialog modal-lg" dir="rtl">
             <div class="modal-header ">
              <h4 class="modal-title" style="color:red;">add new user</h4>
              <button type="button" class="close" aria-label="Close" (click)="d('Cross click')">
              <span aria-hidden="true">&times;</span>
             </button>
            </div>
                            <!-- pop up body -->
            <div class="modal-body">
            <form [formGroup]="addUserForm" (ngSubmit)="onSubmit(t)" #t="ngForm">
             <div class="row">
               <div class="form-group" class="col-lg-6">
                    <label >   username  </label>
                    <input class="form-control text-line" type="text" id="name" formControlName="name"  [(ngModel)]='name' required/>
                    <br />

                    <label class="padd">  password  </label>
                <input class="form-control text-line" type="password" id="password" formControlName="password" [(ngModel)]='password' required/>
                  </div>

                <div class="form-group" class="col-lg-6">
                <label>  Email </label>
                <input class="form-control  text-line" type="email" id="email" formControlName="email"  [(ngModel)]='email' required />
                <br />

                </div>
                <!-- modal footer -->
            <div class="modal-footer">
            <button type="submit" class="btn btn-success" (click)="onUserSave(addUserForm.value,t);" style="margin: 20px;" [disabled]="!t.valid" > حفظ </button>
            <button type="button" class="btn btn-danger" (click)="c('Close click')"> cancel</button>
                    </div>
                    </form>
                        <br />

                    </div>
                </div>
            </ng-template>
        </a>

            <hr>

            <table class="table table-hover table-condensed text-center">
                    <thead >
                            <tr class="text-center" style="background-color: #eef4f7; ">
                                    <th > # </th>

                                    <th > username                                      </th>

                                    <th >
                                            email
                                    </th>

                                    <th >
                                            edit
                                    </th>

                            </tr>
                    </thead>
                    <tbody>

                            <tr *ngFor="let user of users">
                                    <td>
                                            #
                                    </td>

                                    <td>
                                            {{user.name}}
                                    </td>

                                    <td>
                                            {{user.email}}
                                    </td>

                                    <td>
                  &nbsp;
                  <i class="fa fa-pencil-square-o fa-lg" style="cursor: pointer; color:#008000;" (click)="open(content, 'update', user)"></i>                       </td>
                            </tr>
                    </tbody>
            </table>

织女星

我无法运行您的代码,因为有一些缺失的部分,但您应该能够将表单重置为:

..... (click)="onUserSave(addUserForm.value,t); addUserForm.reset()" .....

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重置表单后,Angular 4反应式表单未清除验证

来自分类Dev

表单重置后禁用保存/提交按钮

来自分类Dev

提交后在Angular 2中重置表单

来自分类Dev

需要双击以在 Angular 4 中使用 NgForm 重置表单

来自分类Dev

表单提交后如何在angular js中重置表单字段

来自分类Dev

提交表单后如何在angular js中重置表单字段

来自分类Dev

Angular 4 - 登录表单

来自分类Dev

表单验证 Angular 4

来自分类Dev

ionic4 @ ionic / angular ionChange或ion-select在表单重置时无法正常工作

来自分类Dev

在MVC 4 ASP.net中提交表单后,保存dropdownlist状态和单选按钮状态

来自分类Dev

嵌套表单无法保存Rails 4

来自分类Dev

在Angular中保存表单值的问题

来自分类Dev

更新后检查保存Rails 4

来自分类Dev

更新后检查Rails 4是否保存

来自分类Dev

记录保存后重置输入字段

来自分类Dev

Angular 4 Web Animations 在 Safari 中重置

来自分类Dev

Angular4:如何在动态添加属性后重新初始化表单控件

来自分类Dev

Rails 4嵌套表单,belongs_to保存问题

来自分类Dev

使用AJAX从Symfony 4表单持久保存数据

来自分类Dev

Rails 4表单数据保存为零

来自分类Dev

在 PHP 中使用 Angular 保存动态创建的表单数据

来自分类Dev

在 Angular4 中提交隐藏表单

来自分类Dev

Angular 4 表单验证不起作用

来自分类Dev

在Django上保存表单后重定向

来自分类Dev

Angular-资源保存后更新对象的每个属性

来自分类Dev

Angular 4:注入服务后组件消失

来自分类Dev

创建后 Angular 4 更新索引页面

来自分类Dev

表单重置后重置验证(ReactiveForms)

来自分类Dev

Emberjs-保存后如何重置组件上的字段?

Related 相关文章

热门标签

归档