Angular5 reactive Forms Listening for Changes 监听表单变化

在html 中定义了 FromGroup,怎么来监听用户输入值的变化呢?

可以使用valueChanges 来订阅变化。

this.myForm.valueChanges.subscribe(val => {
    // to do
});

首先,实例化FromGroup

  initFormControls() {
    this.form = this._formBuilder.group({
      ipCtrl: new FormControl('', [Validators.required, Validators.pattern(Validator.ipReg)]),
      snmpCommunityCtrl: new FormControl('', [Validators.maxLength(24)]),
      descriptionCtrl: new FormControl('', [Validators.maxLength(255)]),
      enabledBGPCtrl: new FormControl(),
    });
  }

然后,定义一个 onFormChanges 方法来监听 form的变化


  onFormChanges(): void {
    // watch the whole form
    this.form.valueChanges.subscribe(val => {
      console.log('onFormChanges', val);
    });

    // watch the specific form control
    this.form.get('enabledBGPCtrl').valueChanges.subscribe(val => {
      console.log('onFormChanges', val);
    });
    
  }

在ngInit 时调用以上两个方法

  ngOnInit() {    

    this.initFormControls();
    
    this.onFormChanges();
  }
posted @ 2018-12-20 16:00  生活总得有些仪式感  阅读(516)  评论(0编辑  收藏  举报