- (ダーティオン)
- フォームが送信されて、エンティティの状態は、現在の形式は、現在のように自然のまま設定しなければならないことを意味するフォームの状態と整合されます。
どうすればよいですか? ng1に$setPristine()
がありました。 Btw、私はControlGroup
タイプのフォームについて話しています。フォームを元の状態に設定するにはどうすればよいですか?エンティティの状態を表すフォームが編集されている
どうすればよいですか? ng1に$setPristine()
がありました。 Btw、私はControlGroup
タイプのフォームについて話しています。フォームを元の状態に設定するにはどうすればよいですか?エンティティの状態を表すフォームが編集されている
markAsPristine
メソッドがあります(これは文書化されていないようですが、ここにはhttps://github.com/angular/angular/blob/53f0c2206df6a5f8ee03d611a7563ca1a78cc82d/tools/public_api_guard/forms/index.d.ts#L42があります)。
基本的には、this.form.markAsPristine()
はあなたの期待通りです。
更新、これは多くのことを改善した新しい形のモジュールで
。
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を参照してください。通常の回避策は、フォームを元に戻すためにフォームを再作成することです。
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以降で表示されます。
...........スーパー....... – Birowsky