提问人:physicsboy 提问时间:9/14/2018 最后编辑:user229044physicsboy 更新时间:3/17/2021 访问量:30456
我可以在不需要 [formGroup] 的情况下使用 [formControl] 吗?
Can I use [formControl] without also needing [formGroup]?
问:
我正在我的UI中使用下拉列表,但是当我开始使用时,我抛出了错误:[formControl]
找不到具有未指定名称属性的控件
我在我的 .app.module.ts
我在 Google 上搜索并发现解决方案是在父级中使用 [formGroup],但我不确定如何正确实现,因为我正在从中定义我的 .div
formControl
subscribe
myComp.component.html
<div class="exceptional-status">
<select #exceptionalSelect id="excep-status-dropdown" [formControl]="select">
<option disabled value="default">--Exceptional statuses--</option>
<!-- other options here with *ngFor -->
</select>
</div>
myComp.component.ts
select: FormControl;
mySubscription() {
this.myService.myFunct.subscribe(res => {
this.select = new FormControl(res.status)
});
}
答:
0赞
filipbarak
9/14/2018
#1
为什么要在订阅中定义表单控件?我的建议是在订阅之外构建表单框架,然后使用
mySubscription() {
this.myService.myFunct.subscribe(res => {
this.controls['select'].patchValue(res.status);
});
}
评论
1赞
physicsboy
9/14/2018
事物从何而来?controls
18赞
yurzui
9/14/2018
#2
是的,您可以在没有 FormGroup 的情况下使用。FormControlDirective
Angular 期望定义 FormControl:
select = new FormControl();
mySubscription() {
this.myService.myFunct.subscribe(res => {
this.select.setValue(res.status)
});
}
评论
0赞
physicsboy
9/14/2018
啊,太好了!我以为这可能是类似的东西,但不确定如何去做。我现在刚刚在谷歌上搜索了 和 之间的区别。setValue()
patchValue()
patch
2赞
Ganesh K
3/17/2021
#3
是的,您可以在没有 FormGroup 的情况下使用它。
select = new FormControl();
设置值:-
select.setValue('your data here');
要获取值:-
select.value
评论