可以通过以下链接访问我的源代码:
https://stackblitz.com/edit/angular-umszww
我已经为部门和系统字段设置了双向绑定。 我点击“添加新的Calltree”,一个模式弹出窗口,然后 例如,我从分区下拉框中选择“ A1”。 之后,在“系统”字段中输入“ ABC”, 最后,我点击“保存”按钮。
我希望控制台显示以下内容:
CallTree {division: "A1", systemName: "ABC"}
但是,控制台实际上应该显示以下内容:
CallTree {division: "A1", systemName: ""}
我尝试在下拉框中选择其他值,除法值会相应更改, 但是,systemName值不会相应更改,您能告诉我为什么吗?
答案 0 :(得分:1)
您表单的值将在this.myForm.value
中,而不是this.callTree
您的保存功能应如下所示:
save() {
if (this.myForm.valid) {
console.log(this.myForm.value);
} else {
this.validateAllFormFields(this.myForm);
}
}
这里是Working Sample Code供您参考。
答案 1 :(得分:1)
如果您想比this.callTree
对象更有价值
您只需要替换保存功能
save() {
if (this.myForm.valid) {
Object.assign(this.callTree,this.myForm.value);
console.log(this.callTree);
} else {
this.validateAllFormFields(this.myForm);
}
}
希望这对您有用。
如果您想了解更多,请告诉我。
谢谢