问题标签 [angular2-formbuilder]
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 - 如何创建angular2嵌套数据条目
我需要一些有关 angular2 嵌套反应式表单构建器的帮助。
我正在尝试创建带有详细嵌套表单数据输入屏幕的主控和详细信息;像下面的json:-
你能帮忙吗?
最好的问候, 耐莉
forms - formGroup的子组件内的Angular 2 formControlName
我正在尝试使用 Reactive Forms 构建向导类型的表单。以下是我的代码片段
向导和向导步骤在没有表单的情况下工作。
当我使用 Reactive Forms 实现它们并运行应用程序时,我看到如下错误。
我假设这是因为dough formControlName不是pizzaForm formGroup. 不过不确定。如果这是原因,我该如何解决这个问题?我在每个向导步骤中都有很少的字段,我认为所有字段仍应属于同一个表单,因此我可以跟踪表单的有效性。或者我应该为每个向导步骤设置不同的表格?
如果需要更多信息来理解该问题,请告诉我。
angular - 表单中的Angular2访问值
我在从表单中获取 ID 时遇到问题。
this.myForm 看起来像这样 @Input() public myForm: FormGroup;
它是来自另一个 .ts 文件的输入
这是表单的结构:
myForm
- firstname
- lastname
- Email
--Tags (FormArray)
---id (FormGroup)
我想访问 id 并用一个用户的所有标签填充 this.selectedTagList ,这就是我想要做的:
如果我 console.log(this.myForm) 我得到这个结构:

console.log(control.controls), 'controls' 来自上面的代码:

但是当我执行 console.log(control.controls.length) 时,我得到 0。或者当我执行 console.log(control.controls[0]) 时,我得到未定义。
我不知道 FormGroup 对象去了哪里,也不知道为什么它说 Array[0] 里面有 4 个 FormGroup 对象。
angular - 如何使用角度 2 动态设置输入范围值?
如何使用角度2动态设置输入范围值。我可以在设置值时获取值,但我需要先将动态值设置为输入范围。在这里我尝试了一些代码
在这里,我将值设置为 100 默认值。我需要从组件中设置动态值。
nativescript - NativeScript/Angular - 反应形式不起作用
在组件中我这样做:
然后在模板绑定表单中:
但是,当我loginForm在运行login函数时记录值时,即使文本字段有值,它仍然是空的。
我已经导入了两者ReactiveFormsModule,NativeScriptFormsModule但不起作用。如果我更改password为任何随机名称,我也不会收到错误或任何东西。所以它就像它甚至没有以任何方式连接到表单。
我究竟做错了什么?我在 nativescript cli 2.5+ 上,这表明这段代码应该可以工作。
编辑:
我已经进行了一些挖掘,看来延迟加载模块是导致此问题以及其他问题的原因。我在这里提出了一个新问题:
https://github.com/NativeScript/nativescript-angular/issues/735
很高兴听到其他人是否遇到过同样的问题以及是否有解决方案。
angular2-forms - Angular 2 Reactive Forms - 在反应表单的表单数组中绑定选择下拉值
我创建了一个具有表单数组的反应式表单。单击按钮将表单组推入表单数组。因此,每次按钮单击都会在屏幕上生成一段 html。
此表单组包含 2 个具有父子关系的下拉列表,即在父下拉列表中选择项目决定要在子下拉列表中填充的值。
当我在父下拉更改事件中选择一个值时,会为子级获取结果,但这必须限于特定表单数组元素的范围。当前更改事件获取数据并为每个表单数组元素中的子下拉菜单设置值。这是我标记的基本结构
parentdrpdown 和 childdrpdown 是在组件中声明的属性,它们使用对 Web 服务器的 http get 请求加载值
angular - 如何以angular2反应形式迭代表单数组(数组中的数组)?
我尝试迭代 formArray 几次,
这是此案例的 plunker 链接https://plnkr.co/edit/4kiJF7cL5VKwn3KnvjvK?p=preview
我想像这样的笨拙https://plnkr.co/edit/zg6nbFULl0WlTZ1sVn5h?p=preview
这是我的场景
对于上面的数组,我尝试构建响应式表单,我需要权限复选框,组下的角色数组
所以我尝试像这样迭代数组
组件.ts
初始化模块(){
我的html就像
但是我无法在 initGroup () 函数 groupArray 下迭代上述情况下的二级数组,我不知道我的错误是什么,我搜索了很多网站都只告诉一级迭代,我是 angular2 的新手,所以请任何人帮助我提前谢谢
angular - 在 Angular 2 的下拉列表中设置选定值
我正在使用 FormBuilder 向数据库添加值。
在添加这些值之前,我想将下拉列表(外部公司)的值设置为我事先提交的值
我试过这个
我也尝试使用 ngModel 也没有按预期工作。
例如,在不求助于 jQuery 的情况下设置此下拉列表的选定状态的最佳方法是什么
angular - 基于其他字段值的角度2验证?
我正在尝试根据其他字段验证表单字段值,因此当我尝试获取其他字段的值时,我编写了一个自定义验证器,它抛出错误我尝试了以下代码,请帮助我提前感谢
在控制台中给出错误,因为无法读取 'eventname' 未定义的属性
angular - Angular2模型驱动表单格式电话号码值
我有一个捕获电话号码的表格。我需要更新输入的值以匹配 (999) 999-9999 格式。这是我的代码:
'asYouType('US').input(data)' 来自libphonenumber-js。这是用于将电话号码值格式化为“美国”格式的内容。
我必须添加“debounceTime(1000)”,因为在使用 patchValue 设置新格式化的值时会发生 JavaScript 错误,导致 valueChanges 再次触发。'debounceTime(1000)' 可以防止这种循环效应。
有没有更好的方法来格式化电话号码值?鉴于我必须使用'debounceTime(1000)',这似乎是一种黑客方法。