FormGroup.patchValue保持子控件的禁用状态

时间:2018-01-09 17:46:48

标签: angular angular-reactive-forms

我有一个带有禁用表单控件的被动disabled实例。 其中一个表单控件上的valueChanges侦听器设置其他控件patchValue

每次我将表单的值保存到后端时,都会返回一个更新的对象,然后使用patchValue将其修补回表单。 不幸的是,在将新对象从后端修补到表单组之后,所有控件的禁用状态都将丢失。

  1. 我在init
  2. 上创建FormGroup
  3. 用户输入一些值(例如URL),导致其他表单控件被禁用。
  4. 我保存表格的价值
  5. 我从后端
  6. 收到更新的对象
  7. 我将更新的对象修补到表单中。
  8. 以前已停用的表单控件将再次启用。
  9. 使用select u.title, n.entity_type, n.title from nodes u join associations a on u.id in (a.parent, a.child) join nodes n on n.id <> u.id and n.id in (a.parent, a.child) where u.entity_type = 'User' 后如何保持表单控件的禁用状态?

1 个答案:

答案 0 :(得分:1)

我找到了一个(脏)解决方法。

我在.debounceTime(0)块之前添加了.subscribe,在我将新值修补到表单后,复选框会暂时启用,但会立即再次禁用。