Angular 如何清除对话框内的窗体材质角度2
我在angular 2材质上创建了一个对话框。我将按如下方式打开模式: 我的组件Angular 如何清除对话框内的窗体材质角度2,angular,angular-material,Angular,Angular Material,我在angular 2材质上创建了一个对话框。我将按如下方式打开模式: 我的组件 .... private refDialog; @ViewChild('display') display; openDialog() { this.refDialog= this.dialog.open(this.display); } .... 我的html <ng-template #display> <form (ngSubmit)="onSubmit(f)" #f="
....
private refDialog;
@ViewChild('display') display;
openDialog() {
this.refDialog= this.dialog.open(this.display);
}
....
我的html
<ng-template #display>
<form (ngSubmit)="onSubmit(f)" #f="ngForm">
<div class='col-md-12'>
<md-input-container>
<input mdInput placeholder="Name" name="name" [(ngModel)]="product.name" #name="ngModel">
</md-input-container>
</div>
.....
</form>
</ng-template>
有人能帮我吗?看看我创建的Plunker演示: 以下是对话框组件:
export class DialogComponent implements OnInit{
@ViewChild('myform') myform;
constructor(public dialogRef: MdDialogRef<DialogComponent>){}
ngOnInit() {
this.myform.resetForm();
}
}
openDialog(){
this.dialog.open(DialogComponent);
}
正如您在GIF中所看到的,每次清除HTML中的硬编码输入值时,表单都会被清除,并且表单处于脏状态,因此它会使用resetForm()
方法得到完全休息
谢谢你的回答。此.f.restForm()无效。我检查了openDialog()中是否没有该表单的实例。这可能就是他无法重置的原因。我不知道如何获取“角度材质”对话框中的窗体实例。这似乎是一个范围问题。我刚刚创建了一个plunker来复制该问题,我将尝试解决该问题,并通过更新此答案返回给您。@DaniloSantos现在检查我更新的答案!如果这对您有帮助,请确保选择它作为答案:)
openDialog(){
this.dialog.open(DialogComponent);
}