How to watch all FormControls ValueChanges except specific control?

后端 未结 4 1905
名媛妹妹
名媛妹妹 2021-01-12 10:33

I have a form that do a computation whenever a control input value changes.

Here is my form_group looks like:

form_group = this.fb.group         


        
4条回答
  •  一个人的身影
    2021-01-12 10:54

    Is there a reason why you couldn’t create a FormArray instead of multiple form controls? For example

    form_group = this.fb.group({
        'controls': this.fb.array([...])
    });
    

    Then you can define a property in your component

    get controls(): FormArray {
        return this.form_group.get('control');
    }
    

    And then from this you can iterate the form array and subscribe to valueChanges

    this.controls.controls.forEach(control => {
        control.valueChanges.subscribe(...)
    });
    

    You can then apply some logic in the for each to exclude the controls you do not want to subscribe to

提交回复
热议问题