如何从表单组中禁用的表单控件中获取值作为 Stream ?(如 valueChanges 方法)

yeh*_*kel 2 angular angular-reactive-forms

Angular 在表单组内禁用 FormControl 的常规行为是省略控制器的键/值。但我需要保留表单对象结果的结构 - 所以我需要禁用控制器的键出现在最终表单值对象内。

有一个简单的解决方案可以使用方法“getRowValue()”获取它,但它不是流......有一种内置的方法可以将它获取到流中吗?

例子

myForm = new FormGroup({   
    name:new FormControl({value:'',disabled:true}),
    power:new FormControl('')
  })
Run Code Online (Sandbox Code Playgroud)

valueChanges() {power:anyValue} 的结果

我需要{power:anyValue,name:""}

stackblitz 中的示例

Sha*_*les 6

将这样的内容添加到您的组件中:

rawValueChanges = this.myForm.valueChanges.pipe(
  map(_ => this.myForm.getRawValue())
)
Run Code Online (Sandbox Code Playgroud)

请参阅StackBlitz 中的工作示例