我输入输入字段如下:
<input mdInput placeholder="Name" #filterName name="filterName" >
我希望清除点击清除按钮的价值:
<button (click)="clearFilters()">Clear</button>
app.component.ts function :
filterName : string = null;
clearFilters() {
this.filterName = '';
}
请告诉我上面的错误,因为它不适合我。
这里是jsfiddle https://jsfiddle.net/8fw8uq3x/
答案 0 :(得分:23)
你可以做这样的事情
<input placeholder="Name" #filterName name="filterName" />
<button (click) = "filterName.value = ''">Click</button>
或
<强>模板强>
<input mdInput placeholder="Name" [(ngModel)]="filterName" name="filterName" >
<button (click) = "clear()'">Click</button>
在组件中
filterName:string;
clear(){
this.filterName = '';
}
<强>更新强>
如果是表格
最简单,最清晰的方式来清除表格及其错误状态(脏,等等)
this.form_name.reset();
有关此处阅读的表格的更多信息
https://angular.io/docs/ts/latest/guide/forms.html
PS:正如您提出的问题,您的问题代码中没有使用任何表单 你使用ngModel而不是使用简单的两天数据绑定 formControl。
form.reset()方法仅适用于formControls重置调用
一名说明如何运作link的傻瓜。
答案 1 :(得分:2)
我知道这是一个老话题,但我偶然发现了。
所以我是怎么做的,在输入字段上使用您的本地模板变量,您可以设置输入的值,如下所示
extends layout
block content
h1 #{title}
ul
each article, i in articles
li=article.title
非常确定这不会将表单设置回原始状态,但您可以使用server.js
函数在同一函数中重置此表单
答案 2 :(得分:1)
使用@ViewChild
重置您的控件。
模板:
<input mdInput placeholder="Name" #filterName name="filterName" >
在代码中:
@ViewChild('filterName') redel:ElementRef;
然后您可以访问您的控件
this.redel= "";
答案 3 :(得分:1)
如果您只想使用 HTML 清除输入,则可以执行以下操作:
Flux<Integer>
请注意(键)= 0 的重要性以及对课程输入的引用。
然后像这样重置它:
List<Integer>
答案 4 :(得分:1)
使用Angular 7,我需要创建一个带有文件说明的文件上传。
HTML:
<div>
File Description: <input type="text" (change)="updateFileDescription($event.target.value)" #fileDescription />
</div>
<div>
<input type="file" accept="*" capture (change)="handleFileInput($event.target.files)" #fileInput /> <button class="btn btn-light" (click)="uploadFileToActivity()">Upload</button>
</div>
这是组件文件
@ViewChild('fileDescription') fileDescriptionInput: ElementRef;
@ViewChild('fileInput') fileInput: ElementRef;
ClearInputs(){
this.fileDescriptionInput.nativeElement.value = '';
this.fileInput.nativeElement.value = '';
}
这可以解决问题。
答案 5 :(得分:0)
您应该使用双向绑定。没有ViewChild,因为它是相同的组件。
因此,请将ngModel添加到您的输入中并保留其余部分。这是您编辑过的代码。
<input mdInput placeholder="Name" [(ngModel)]="filterName" name="filterName" >
答案 6 :(得分:0)
您可以使用event.target.result直接重置来自组件的输入。
event.target.value = ""
答案 7 :(得分:0)
要重置角度2中的值,请使用:
this.rootNode.findNode("objectname").resetValue();
答案 8 :(得分:0)
如果要在提交表单后清除所有输入字段,请考虑在FormGroup上使用reset方法。
答案 9 :(得分:0)
检查.ts中的@viewchild
@ViewChild('ngOtpInput') ngOtpInput:any;
如果要清除字段,请在方法中设置以下代码。
yourMethod(){
this.ngOtpInput.setValue(yourValue);
}