angular - 使用 ControlAccessValue 制作的角度子表单中的 PatchValue 导致父表单状态为脏
问题描述
我正在构建一个使用嵌套表单的应用程序。
嵌套表单是通过和函数扩展ControlAccessValue
父表单并与之对话的组件。onTouched
onChanged
我的问题是,当我修补 SubForm 中的值时, MainForm 被标记为dirty
. 相反,我希望这两种形式都是脏的:假的和原始的:真,这实际上是我想要实现的。
我构建了一个简单的 stackblitz 来向您展示我的意思。
问题是:我做错了吗?有什么帮助吗?
示例:https://stackblitz.com/edit/angular-ivy-b9twi8?
如果您注释下面的行,您会看到父表单的脏值设置为false
.
this.addressForm.get('street').setValue(this.streetValue);
谢谢你们
解决方案
我建议写this.addressForm.get('street').setValue(this.streetValue, {onlySelf: true});
以防止弄脏主要形式
推荐阅读
- r - 一种将长格式的连续开始和结束日期重新编码为一个向量的方法
- bash - 查找特定子文件夹的大小
- reactjs - 如何在类组件的 gatsby 中使用 useStaticQuery?
- go - Stackdriver 上未显示自定义 OpenCensus 指标
- dialogflow-es - 如何在对话期间强制谷歌操作切换语言?
- android - 无论我通过什么参数,凌空响应都是相同的
- javascript - React ref 返回 null 信息“下面的值刚刚被评估”
- excel - 我需要宏不断运行
- jquery - Bootstrap 4 表单 HTML 弹出框
- c++ - GLFW 找不到 X11 显示器?