NgZorro 自动完成选择框不能在没有选择之前填充

问题描述

我不确定这是我的错误还是错误的实现。

我尝试用 AutocompleteDataSourceItem 填充自动完成选择框。 AutocompleteDatasourceItem 包含 labelvalue

如果我在新初始化的表单字段上使用以下代码,当我在调试器中检查该字段的值时,该表单将正确填充,但表单上的字段显示 [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);

但在我看来这不是一个好的代码。你应该使用第一个。我相信两者都能达到目的。