【发布时间】:2025-11-21 20:05:02
【问题描述】:
这个问题不言自明。我想拦截 FormControl 的 value 属性的传入值,并能够拦截传出值到它所连接的 HTML 控件。
假设我有一个名为“firstName”的 FormControl,我将它连接到一个文本框:
<input type="text" formControlName="firstName" />
默认情况下,当用户在文本框中输入值并提交时,FormControl 的值被设置为文本框中的值。有什么方法可以拦截设置的值并在设置之前对其进行修改?
同样,有没有什么办法可以截取FormControl发送给HTML控件的值呢?例如,如果我将 FormControl 的值设置为某个值,但我想修改显示在文本框中的值。
我知道我可以使用 ngModel 作为表单和控件之间的中介,但是当使用多个控件时会变得很麻烦。我也知道您可以创建自己的控件并实现 ControlValueAccessor,但这也很麻烦,因为我必须为要使用的每个控件创建相应的控件。
有关我为什么要问这个问题的更多信息,请参阅https://github.com/ionic-team/ionic/issues/7121
【问题讨论】:
-
你能创建 plunker 吗?你想输入
3得到777吗? -
基本上,是的。我想要的是用户输入1并将表单控件值设置为0.01。如果表单控件值为 0.01,则文本框应显示 1。
-
这是一篇关于这个主题的好文章——专门针对 Angular Material。 medium.com/angular-in-depth/… - 还包括一个关于验证的注释,它应该适用于所有控件。
标签: angular ionic-framework ionic2 angular2-forms angular-reactive-forms