问题标签 [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 - 反应形式的嵌套标题和表格
我有几个类别,每个类别都有几种材料/产品。我有一个问题,因为当我决定删除一个类别的材料/产品时,我也删除了另一个类别的材料/产品?如何使用反应形式来解决这个问题?我将如何独立删除一种材料而不是另一种材料?这是我的代码CODE LINK的链接
angular - 在Angular Reactive Forms中将一个控件的验证器绑定到另一个控件的值
我对 Angular 1.6 非常熟悉,刚刚开始学习 Angular 5 并查看响应式表单,如果这是一个新手问题,我深表歉意。我们的应用程序有很多复杂的验证规则,我可以看到在大多数情况下,使用响应式表单更容易实现它们。我有一些看起来更难的场景,特别是当验证器的输入是来自另一个控件的值时。这里有两个明显的例子:
- “From”和“to”日期字段,其中“to”字段必须比“from”字段晚
- “确认密码”字段必须与“密码”字段具有相同的值。
在 Angular 1 土地上,我会做这样的事情:
我会为 mustBeLaterThan 和 mustBeIdentical 编写自定义验证器指令,但我会在字段之间自动绑定,并且指令只需要编写一次。
在 Angular 2/4/5 反应式表单中,我似乎会创建验证器工厂函数,但我不清楚除了相关的 FormControl 之外,我将作为参数传递给它什么,这似乎很脏。我显然可以观察到一个领域的变化,并在另一个领域反复销毁和重新创建验证器,但这似乎效率低下且令人费解。在这样的场景中是否有更好的约定?
angular - 唯一值角反应形式
我对 Angular 4 反应形式有疑问。
我的申请是一个培训项目。它在 SpringBoot、mySql 数据库和 Angular4 中有一个 Backend。
这个应用程序必须将医生添加到数据库,但还必须验证:许可证号必须是唯一的。我正在使用响应式表单(不是模板驱动的)。
我试图用功能解决我的问题:
但我不知道如何将它注入我的 formControl:
希望你们能帮助我。问候
angular - 在Angular 4+的Reactive表单内的单选按钮组中有条件地禁用单选按钮
我在组件中创建了一个反应形式,并formControls
在其上定义了一些。
现在我需要根据某些条件禁用单选按钮组中的一个单选按钮。
我在创作时怎么做formControl
?
PFB 代码片段:
在我的模板中:
现在如何有条件地禁用其中一个?使用[disable]
属性时,我在浏览器控制台中收到一些警告。Angular 不鼓励这样做
html - angular 4 下拉菜单设置选定状态
嗨,我正在开发一个 Angular 4 Web 应用程序。我正在尝试设置下拉菜单的初始选定状态。尽管没有设置下拉菜单的初始选定状态,但无论我做什么。请参阅下面的 html(我正在尝试将食谱的健康选项设置为“是”或“否”,具体取决于从数据库中返回的内容:-
打字稿模块代码:-
这是健康类代码:-
希望有人能让我摆脱痛苦(我已经坚持了几天了)。
angular - Angular Reactive Forms:仅对某些特定的表单控件进行去抖动
我有一个简单的搜索组件,其中包含一个带有 2 个元素的反应式表单:
- 文本输入(搜索任意匹配的文本)
- 复选框(包括/排除已删除的结果)
到目前为止,我myFormGroup.valueChanges.subscribe(...)
用来执行我的搜索方法。
现在的问题是,我想消除文本输入的抖动。同时不去抖动复选框,因此单击复选框时搜索方法会立即执行。
使用valueChanges.debounceTime(500)
当然会消除整个表单的抖动。那不是我想要的。
这是一个精简的例子。真实的形式有更多的输入。有些应该去抖动,有些不应该。
有什么简单的方法可以完成这项工作吗?还是我必须分别订阅每个表单控件?
很高兴看到你是如何解决这个问题的。
提前致谢。
编辑:代码
angular - 如何使用 FormControl 和 ngComponentOutlet - Angular 5
我正在尝试通过 formControl 使用动态组件加载,但它不会影响我的主机 formGroup。
尝试了这些选项:
模板:
选项 1 - 不工作:
选项 2 - 不工作:
选项 3 - 工作:
组件功能:
getComponent:返回动态组件(支持使用reactiveForm)
getFormControlName:返回表单控件名称。返回字符串
getFormControl:返回formControl对象。表单控件
有人知道我应该怎么做吗?这个有可能?
查看该示例: https ://stackblitz.com/edit/angular-n8sdrm?embed=1&file=app/app.component.html
谢谢
angular - 当复选框在反应表单中检查时启用
我需要帮助才能使行仅在选中复选框时才启用。默认行应该被禁用,但是当复选框只被选中时,该行将被启用。这是我的代码的链接
angular - 找不到路径'myFormArray -> [index] -> myProperty 的控件
我正在尝试使用 Angular ReactiveForms 生成动态表单。目前我收到错误Cannot find control with path 'myFormArray -> [index] -> myProperty
。我已经检查了一些在互联网上找到的答案,但没有成功。这是我的代码:
HTML:
TS:
myData
来自父组件作为组件的输入,它看起来像
更改中间索引的数据数组中的每个项目都会发生错误。
你能帮助我吗?谢谢
angular - Angular 2+ 嵌套表单模式导致“检查后更改”错误
我正在遵循 Matt Brophy 的这种嵌套形式模式。本质上,子表单组件创建自己的FormGroup
,并将其附加到FormArray
从父表单组件传入的 a 中。
我遇到的一个马特可能忽略的问题是,如果孩子FormGroup
碰巧无效,则会引发“检查后更改”错误。
重现问题的 ChildFormComponent 的代码如下所示:
您可以看到 childField1 和 childField2 之间的区别,其中 childField1 可以获取有效值,而 childField2 获取空字符串,这使得表单(及其父表单)无效。
难点在于ChildData
和children
FormArray
直到OnInit
.
我试图通过使用其他一些生命周期钩子来破解它,但我仍然遇到同样的错误,所以我不知道在哪里可以安全地附加 child FormGroup
。
我已经分叉了 repo并更新了软件包,因为我无法编译Matt 的版本。这是它应该如何工作的现场演示。
这种模式很漂亮,我的项目已经投入其中,因为直到我开始添加验证器才发现这个问题。有没有办法在没有问题的情况下做到这一点?
[编辑]:我能够在测试用例中隔离问题,并从那里解决。因此,将此问题标记为该问题的副本。