forms – Angular2 – 手动设置FormBuilder控件的值

前端之家收集整理的这篇文章主要介绍了forms – Angular2 – 手动设置FormBuilder控件的值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是驱动我坚果,我在枪下,不能再花一整天在这。

我试图在组件中手动设置控制值(‘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)

不是很优雅我同意。希望这在未来的版本得到改进。

猜你在找的Angularjs相关文章