2016-05-13 13 views
12
  • (ダーティオン)
  • フォームが送信されて、エンティティの状態は、現在の形式は、現在のように自然のまま設定しなければならないことを意味するフォームの状態と整合されます。

どうすればよいですか? ng1に$setPristine()がありました。 Btw、私はControlGroupタイプのフォームについて話しています。フォームを元の状態に設定するにはどうすればよいですか?エンティティの状態を表すフォームが編集されている

答えて

8

更新、これは多くのことを改善した新しい形のモジュールで

AbstractControl、ほとんどのフォームクラスの基底クラスは

markAsTouched({onlySelf}?: {onlySelf?: boolean}) : void 
markAsUntouched({onlySelf}?: {onlySelf?: boolean}) : void 
markAsDirty({onlySelf}?: {onlySelf?: boolean}) : void 
markAsPristine({onlySelf}?: {onlySelf?: boolean}) : void 
markAsPending({onlySelf}?: {onlySelf?: boolean}) : void 

および他のいくつかの新しいメソッド

disable({onlySelf, emitEvent}?: {onlySelf?: boolean, emitEvent?: boolean}) : void 
enable({onlySelf, emitEvent}?: {onlySelf?: boolean, emitEvent?: boolean}) : void 
setValue(value: any, options?: Object) : void 
patchValue(value: any, options?: Object) : void 
reset(value?: any, options?: Object) : void 
updateValueAndValidity({onlySelf, emitEvent}?: {onlySelf?: boolean, emitEvent?: boolean}) : void // (old) 
setErrors(errors: {[key: string]: any}, {emitEvent}?: {emitEvent?: boolean}) : void 
を提供します

これは現在サポートされていません。 https://github.com/angular/angular/issues/5568およびhttps://github.com/angular/angular/issues/4933を参照してください。通常の回避策は、フォームを元に戻すためにフォームを再作成することです。

+0

...........スーパー....... – Birowsky

0
class MyComp { 
    form = new FormGroup({ 
     first: new FormControl('Nancy'), 
     last: new FormControl('Drew') 
    }); 
} 

    reset() { 
     this.form.reset(); // will reset to null 
    // this.form.reset({first: 'Nancy', last: 'Drew'}); -- will reset to value specified 
    } 

https://github.com/angular/angular/pull/9974

これはRC5以降で表示されます。

関連する問題