可以使用 patchValue 方法或者 markAsDirty 方法来手动更新视图。示例如下:
import { Component } from '@angular/core';
import { FormGroup, FormControl } from '@angular/forms';
@Component({
selector: 'app-root',
template: `
`,
})
export class AppComponent {
form: FormGroup;
constructor() {
this.form = new FormGroup({
name: new FormControl('')
});
}
setValue() {
this.form.get('name').setValue('John');
this.form.get('name').patchValue('John');
this.form.get('name').markAsDirty();
}
}
在上述代码中,当点击 Set Value
按钮时,我们使用了三种方法来更新表单输入框的值。其中 setValue
方法使用 FormControl
的 setValue 方法,但不会更新视图。而 patchValue
和 markAsDirty
方法可以手动更新视图,使新的值显示在表单输入框中。