angular 当FormControlName改变时,textarea上的FormControl未更新,

ndasle7k  于 5个月前  发布在  Angular
关注(0)|答案(5)|浏览(59)

🐞 bug report

受影响的软件包

@angular/forms

是否为回归?

就我所知,不是

描述

当我在一个textarea上有一个动态的formControlName时,附加的formControl在formControlName更新时不会改变。它与直接附加到textarea的formControl一起工作正常。

🔬 最小复现

https://stackblitz.com/edit/angular-issue-repro2-htsfgu

🔥 异常或错误

Chrome开发者工具内没有错误

🌍 你的运行环境

Angular版本:

Angular CLI: 7.1.4
Node: 10.15.0
OS: win32 x64
Angular: 7.1.4
... animations, cli, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.7.5
@angular-devkit/build-angular     0.12.1
@angular-devkit/build-optimizer   0.12.1
@angular-devkit/build-webpack     0.12.1
@angular-devkit/core              0.7.5
@angular-devkit/schematics        7.1.4
@ngtools/webpack                  7.2.1
@schematics/angular               7.1.4
@schematics/update                0.11.4
rxjs                              6.3.3
typescript                        3.1.6
webpack                           4.23.1

还有其他相关信息吗?

在任何平台上(Windows上的Chrome和Firefox,Mac和Linux)都遇到了同样的问题

v8wbuo2f

v8wbuo2f2#

不确定ControlValueAccessor如何应用于此问题,我也是experiencing
在这个stackoverflow交流中,问题被识别为:
每次后续更改this._added将为真。在ngOnChanges中可以看到的下一个检查是isPropertyUpdated,它不检查名称输入更改,只检查模型输入
https://stackoverflow.com/q/45051985
这意味着在第一次之后无法更改"formControlName"的值。解决方法是使用[formControl],尽管这可能会导致问题,因为您必须在模板中手动获取控件。

xzlaal3s

xzlaal3s3#

你好,@Darkein,感谢你报告这个问题并提供复现。根据FormControlName指令的逻辑,更改formControlName绑定值不会更新最初设置的控件名称。我将保持这个工单打开,看看我们是否可以添加一些逻辑在这些情况下将消息记录到控制台。谢谢。

xa9qqrwz

xa9qqrwz4#

_added的目的是什么?
是否有可能检查formControlName的值是否有变化,并重新运行_setUpControl?

9fkzdhlc

9fkzdhlc5#

请注意,我们已经开始了针对您的功能请求的社区投票过程。距离投票过程结束还有20天。
有关Angular功能请求流程的更多详细信息,请参阅我们的文档。

相关问题