问题标签 [angular-reactive-forms]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - Reactive Forms Angular 4中的输入字段未更新
我在 Angular 应用程序中使用响应式表单。我有 2 个字段,一个是选择(命名客户端),另一个是输入(命名 clientCode),必须更新用户选择一个新客户端。
我在客户端上使用 valueChanges,因此当用户选择客户端时,我会获得与该客户端关联的代码,并将其作为 Observable (clientCode$) 返回,然后更新输入值。
这在我的屏幕上工作,因为显示了 clientCode,但表单本身没有更新。只有当我单击输入字段并输入内容时才会更新。
有没有什么办法解决这一问题?
谢谢
angular - 更新 ArrayForm 时反应形式 Angular 中断
我在 Angular 应用程序中使用响应式表单时遇到问题。我设法在 Plunkr 中隔离了问题。
https://plnkr.co/edit/KiTHcaaZZA6kwDI0sfeR?p=preview
我拥有的是一个带有 ArrayForm 部分的表单,我可以在其中使用按钮添加行。这些行中的每一行都有许多输入字段,其中一些显示其他字段的结果。例如,在我的 plunkr 中,我有一个 MAX 和一个 MIN 按钮,它们是数字,当它们都有一个值时,我需要更新另一个字段的值,称为 TOTAL。
所以这是html模板:
这就是重要的 ts。我订阅了发布者中的更改,并且仅当更改不是添加或删除的行时才更新该行。
为了更新价值,我这样做
如果我执行此操作,当我更新第一个字段(最大值)时,它会检查值,并且由于 min 尚不存在,因此什么也不会发生。正确的。然后,当我编辑第二个值(分钟)时,这个 updateTotals 被执行了无数次,总计在最后计算并在字段中更新,但是如果我再次尝试编辑这些字段并更新值,则没有任何反应。
知道为什么会这样吗?
谢谢。
javascript - 角度 2 中没有默认值的 FormControl 布尔值
我在角度 2 (4.1.2) 中使用反应形式
我有一个布尔属性,我不想拥有默认值,但它应该是必需的。
这就是我创建表单的方式:
还有我的html:
问题是,虽然这可行,但单选按钮是预先选择的,但我不希望这样,而是必须通过单击其中一个单选按钮来选择它。如果没有单击任何单选按钮,我希望表单无效。
angular - Angular 2+ ReactiveForm 自定义验证功能未触发
我正在FormGroup
以下列方式构建我的:
但是上面的验证箭头函数永远不会被触发;控制台从不记录。我究竟做错了什么?
javascript - 以反应形式检测输入与按钮单击的返回
我正在 Angular 中构建一个反应式表单,上面有 3 个提交按钮。
在每个按钮上,我附加了一个(click)
处理程序,该处理程序触发一个函数来跟踪哪个按钮被点击:
但是,当有人点击输入时,我注意到 的值this.btnClicked
等于表单中的第一个按钮。
我不确定如何跟踪用户何时点击返回或何时点击按钮,因此我可以做出不同的响应,或者我的结构是否错误。我想submitSession
在任何提交时触发该功能,无论是返回还是按钮。我确实尝试将 formControl 添加到按钮,但失败了。
javascript - Angular 4仅在字段被触摸/脏时应用条件验证-AbstractControl?
我只想将条件电子邮件验证添加到Reactiveforms Angular 4 表单。仅当用户开始填写电子邮件字段时才应应用验证。如果电子邮件字段为空,则不应应用验证。
我目前有以下设置和使用AbstractControl
,但不确定我是否以正确的方式进行。
更新
现在考虑一下 - 检查该字段是否由以下内容填充会更好。然后检查它是否为空。
更新
我刮了上面的,然后用下面的,只有一半有效
以上最初将该字段设置为有效,并且仅在有内容时应用电子邮件验证。但是,它仅在第二次击键后才执行此操作。aa
此外,当该字段被清除时 - 验证仍然适用(如果该字段为空白,我希望不应用电子邮件验证器)
angular - 无法在响应式表单的 FormArray 中为 FormArray 输入超过 1 个字符
我认为这可能是 Reactive Form 的错误。我会感谢更有经验的 Angular 专家的任何帮助。
症状:在给定时间无法在输入中键入超过 1 个字符。
发生:当输入是 FormArray 中的 FormArray 时
我包含了一个 Plunker 链接,如下所示: https ://embed.plnkr.co/zl2BQe/ 。
angular - 如何访问 HTML 中的 formGroup 以传递给动态添加的组件
我正在使用一些配置创建一个动态表单
我正在关注 Todd Motto Link的博客
以下是我的表格
它包含嵌套的 FormGroups,因此我的配置包含许多部分。Section 包含多个 fieldGroup 和 fieldGroup 可以包含多个字段
这些字段是formControl,我将[组](参见ng-container)传递给我想传递formGroup的这个组。现在我只传递一个字符串
这是我的 component.ts
angular - 如何将 formControlName 赋予 FormArray 对象 - Angular 2 (ReactiveFormsModule)
在我的应用程序中,我使用 Reactive Forms 制作了一个表单。在我的应用程序中,它们是一个按钮Add new Fields
,单击此按钮会添加新字段。
我可以添加新字段,但无法分配formControlName
.
谁能告诉我正确的路径如何添加formControlName
到这些动态添加的字段中。
angular - Angular 4 控制组验证错误
我正在使用 Angular 反应式表单构建一个通用表单。我有以下用于输入元素的通用 Html
但对于以下!group.controls[config.name]?.errors?.required
它告诉我Identifier 'required' is not defined
。minlength
和相同maxlength
。从哪里我可以得到minlength
和maxlength
required errors?