这是驱动我坚果,我在枪下,不能再花一整天在这。
我试图在组件中手动设置控制值(‘dept’),它只是不工作 – 即使新的值日志控制台正确。
这里是FormBuilder实例:
initForm() { this.form = this.fb.group({ 'name': ['',Validators.required],'dept': ['','description': ['',}); }
这是接收所选部门的事件处理程序:
deptSelected(selected: { id: string; text: string }) { console.log(selected) // Shows proper selection! // This is how I am trying to set the value this.form.controls['dept'].value = selected.id; }
现在当表单提交,我注销this.form字段仍然是空白!我看过其他ppl使用updateValue(),但这是beta.1,我不认为这是一个有效的方法来调用控件。
我也试图调用updateValueAndValidity()没有成功:(。
我只是在表单元素上使用ngControl =“dept”,就像我在做其余的形式,但它的自定义指令/组件。
<ng-select [data]="dept" [multiple]="false" [items]="depts" (selected)="deptSelected($event)" <!-- This is how the value gets to me --> [placeholder]="'No Dept Selected'"></ng-select>
现在我们被迫做一个类型转换:
(<Control>this.form.controls['dept']).updateValue(selected.id)
不是很优雅我同意。希望这在未来的版本得到改进。