我的项目中有一个带有这样输入的表单:
@Input()
article: Article;
ngOnInit() {
this.articleForm = this.formBuilder.group({
title: [ '', Validators.required]
});
form.component.html:
<input class="form-control" formControlName="title"
type="text" value="{{article ? article.title : ''}}" />
Article是具有title属性的Object,article是输入属性。
问题是当输入属性获得带有有效标题的文章时,输入值会更改为标题的值,但在无效状态下会奇怪地窃取!
任何人都能告诉我发生了什么吗?
提前致谢。
答案 0 :(得分:1)
这是因为反应形式没有记录value
的值。如果您使用单向绑定,您的表单控件将注册它:
<input formControlName="title" [ngModel]="article?.title" />
注意safe navigation operator这里,如果没有值,它就不会抛出错误。