问题描述
我尝试用 AutocompleteDataSourceItem
填充自动完成选择框。
AutocompleteDatasourceItem
包含 label
和 value
。
如果我在新初始化的表单字段上使用以下代码,当我在调试器中检查该字段的值时,该表单将正确填充,但表单上的字段显示 [object Object]
:
this.form.controls.baseIngredient.setValue(this.baseIngredientOptions.filter(x => x.value == 11)[0]);
如果我手动选择某些内容,则使用相同的代码,该字段已正确填充。
谁能帮我解决这个问题?
解决方法
你可以试试这个吗
this.form.get('baseIngredient').setValue(this.baseIngredientOptions.find(x => x.value === 11).value;
问题是您正在尝试设置 {key:string,value:string} 但您必须将值作为值而不是对象提供。
在您的代码中,您可以这样实现;
this.form.controls.baseIngredient.setValue(this.baseIngredientOptions.filter(x => x.value == 11)[0].value);
但在我看来这不是一个好的代码。你应该使用第一个。我相信两者都能达到目的。