我的问题是,成功保存数据后,表单中的一个字段未清除。我从另一个组件调用此字段
我用this.addDiagnosisForm.reset();
重设了表单,并试图用(<HTMLInputElement>document.getElementById('diagnosisField')).remove;
清除问题字段。但这不是因为该字段没有完全清除
<div class="form-row">
<label for="problemField" class="col-sm-2 col-form-label">problemField<span class="required-span">*</span></label>
<div class="col-sm-8 d-flex">
<app-dictionary-entry-search name="problemField" [dictCode]="'problemField'" class="w-100 mr-1"
(onSetDictionaryEntry)="setDictionaryEntry($event)" required></app-dictionary-entry-search>
</div>
</div>
<div class="form-row">
<label for="successField" class="col-sm-2 col-form-label">successField<span class="required-span">*</span></label>
<div class="col-sm-8">
<select class="form-control custom-select validation-field" name="successField" [(ngModel)]="successField" required>
<option *ngFor="let item of successField" [ngValue]="item.code">{{successField}}</option>
</select>
</div>
</div>
<input class="form-control" id="diagnosisField"
[class.is-invalid]="searchFailed" [disabled]="disabled"
(selectItem)="getItemValue($event)" [ngbTypeahead]="search"
[editable]="false" [resultTemplate]="rt"
[inputFormatter]="formatter"
[placeholder]="disabled ? '' : 'testMessage'"
[(ngModel)]="value"/>
答案 0 :(得分:-1)
此 answer 基于 AngularJS ,但我认为它可能会对您有所帮助。
首先,尝试像这样分配ngModel: 为表单声明一个公共范围变量:
/testing
然后将ngModel分配给这样的文件: 用户名:
$scope.formName = {};
密码:
$scope.formName.username
保持这种方式。 因此,当您需要清除所有表单元素时,请再次输入以下代码:
$scope.formName.password
这将重新分配/清空变量。 如果您有任何疑问或有疑问,请选择此作为您的答案并投上赞成票。