我使用 Angular 6 构建反应式表单,该表单包含 3 个属性(姓名、年龄、电话),我只想获取更改后的值而不是所有表单值。
this.refClientForm = this.formBuilder.group({
name: [],
phone: [],
age: []
});
对于表单监听器:
this.refClientForm.valueChanges.subscribe(values => console.log(values))
但我总是得到所有形式的值。
您可以检查所有控件的脏标志。看https://angular.io/api/forms/FormControl https://angular.io/api/forms/FormControl
getDirtyValues(form: any) {
let dirtyValues = {};
Object.keys(form.controls)
.forEach(key => {
let currentControl = form.controls[key];
if (currentControl.dirty) {
if (currentControl.controls)
dirtyValues[key] = this.getDirtyValues(currentControl);
else
dirtyValues[key] = currentControl.value;
}
});
return dirtyValues;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)