【问题标题】:get first values of an dynamically built reactive form获取动态构建的反应形式的第一个值
【发布时间】:2020-08-18 14:38:12
【问题描述】:

我有一个表单组件,我在其中构建了一个包含服务调用值的动态表单。这工作正常。

现在我想在不同的组件中显示这些值。

我尝试使用 Event Emitter 和 form.valueChanges 来解决这个问题。

ngOnInit():void {
 this.myForm.valueChanges.pipe(
  takeUntil(this.destroyed$)
 ).subscribe(_ => {

 // calls the eventemitter
 this.emit();
 });
}

这工作得很好,但不完全是我想要的,因为问题是只有在表单更改时才会发出值。这意味着我的表单已构建和呈现,但在其他组件中没有显示任何值。然后我更改表单中的一个值,另一个组件显示表单的值。 (自然是因为valueChanges)

如何从来自服务调用的表单中获取“已修补”值? 不,我不能在显示组件中使用服务调用的 observable。

【问题讨论】:

    标签: angular rxjs angular8 angular-reactive-forms reactive-forms


    【解决方案1】:

    使用像这样的 rxjs startsWith 操作符在使用值创建表单时发出值

    试试这个:

    ngOnInit():void {
     this.myForm.valueChanges.pipe(
      startsWith(this.myForm.value),
      takeUntil(this.destroyed$)
     ).subscribe(_ => {
    
     // calls the eventemitter
     this.emit();
     });
    }
    

    【讨论】:

      猜你喜欢
      • 2019-07-07
      • 2018-07-31
      • 2019-02-10
      • 1970-01-01
      • 2019-02-23
      • 2019-12-05
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      相关资源
      最近更新 更多