我以Material Select为例,尝试通过ngOnInit方法设置默认值,如下所示:
ngOnInit(): void {
this.animalControl.setValue({name: 'Cat', sound: 'Meow!'});
}
但是它没有在选择中显示默认值(只有Meow)。我不知道为什么。
答案 0 :(得分:3)
此处的错误不是由于您的FormControl
未在ngOnInit
上正确填充,而是您的ngFor筛选器通过了列表animals: Animal[]
,其引用与您的新对象{ {1}},如果您在动物列表中传递一个对象,它将具有正确的引用并正确显示动物名称的值。
示例:
{name: 'Cat', sound: 'Meow!'}
答案 1 :(得分:1)
代替
this.animalControl.setValue({name: 'Cat', sound: 'Meow!'});
通过调用动物数组设置animalFormControl的值。 通过查看以下实现来更新代码
this.animalControl.setValue(this.animals[1]);
答案 2 :(得分:1)