我正在Angular 6中使用反应式表单。我有一个包含多个选择输入和复选框元素的表单。我当前正在获取每个输入的值,并在用户单击“应用”按钮时将其传递给router.navigate()。
我想更改我的功能,并且仅当用户触摸输入时才获取每个选择输入和复选框元素的值。不需要任何字段,因此用户可能不会触摸多个输入。这样,我的网址将不会被一堆空值污染。然后,我想拿该对象并将其传递给我的router.navigate()。
我开始编写函数来遍历元素,但是它不起作用。我正在
错误:无法调用类型缺少调用签名的表达式。
我很乐意检查虚假的值,而不是尝试检查原始值。任何帮助将不胜感激。
addExtraParameters() {
this.providerForm.controls.forEach(element => {
if(element.pristine === false ) {
this.param.push(element);
}
});
this.router.navigate([],
{ queryParams: {
this.param // I want to pass the object here
}, queryParamsHandling: 'merge'
});
}
答案 0 :(得分:0)
尝试使用.dirty,如果用户已经与表单进行了交互,则为TRUE。