在我的角2的形式,我有以下打字稿:角2 FormControl.reset()不工作,但.resetForm()做(但打字稿錯誤)
export class UserEditComponent implements OnChanges {
@Input() userModel: IUserModel;
@Output() onSave: EventEmitter<IUserModel> = new EventEmitter<IUserModel>();
@ViewChild("userEditForm") userEditForm: FormControl;
private userNameIsValid = true;
constructor(private httpService: HttpService) {
}
ngOnChanges (changes: SimpleChanges) {
this.userEditForm.resetForm();
console.log(this.userEditForm);
}
....
}
和HTML模板:
<form class="form-horizontal" #userEditForm="ngForm" (ngSubmit)="onSaveUser()" novalidate>
....
</form>
我試過使用.reset()函數,但它什麼也沒做。 .resetForm實際上將表單的_submitted屬性從true重置爲false,但是,它會給我一個TypeScript錯誤Property resetForm does not exist on type FormControl
。
首先,resetForm是一個有效的實際功能嗎?我似乎無法找到任何文檔...但它的工作原理和.reset()不。
其次,我該如何擺脫這種TypeScript錯誤?我需要更新Angular 2的類型嗎?
https://angular.io/api/forms/FormControl沒有'resetForm',如果你擺脫了那個,那麼typescript錯誤將會消失 – Huangism
聲明'userEditForm'爲[**'NgForm' ** ](https://angular.io/api/forms/NgForm)像這樣:'ViewChild(「userEditForm」)userEditForm:NgForm;',所以你可以訪問'.resetForm()'方法。 – developer033
@ developer033這是我錯過了。完美工作! – Scottie