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();
}