angular - Angular 11 ReactiveForm:如何将表单控件更改为表单数组(表单数组内的表单数组)
问题描述
我有一个带有这些控件的表单数组
this.formBuilder.group({fieldName: [null, Validators.required],
displayName: [null, Validators.required],
fieldType: [0, Validators.required],
defaultValue: [null],
fieldValues: [null],
sortOrder: [null],});
我有一个任务,当我单击一个按钮时,它会将 defaultValue 控件更改为一个带有两个控件的表单数组(当前是一个表单控件)。我是 Angular 的新手,我不知道如何用 Html 和ts 文件。谁能帮我?
解决方案
反应式表单提供setControl
了您可以替换现有控件的功能。所以如果想把它做成一个带有两个表单控件的formarray,可以通过以下方式实现:
this.form.setControl(
'defaultValue',
this.formBuilder.array([
this.formBuilder.control(''),
this.formBuilder.control('')
])
);
推荐阅读
- reactjs - 如何从组件中检索状态
- angularjs - 通过 Jasmine Karma 运行测试用例时控制器未注册错误
- qml - 如何将样式模块添加到
- vb.net - 带有 webview-element 的用户表单不加载,程序冻结
- batch-file - 变量未存储正确的字符串
- database-design - 将 SQL 模式建模到 DynamoDB
- c# - 从 C# 中的其他表单更新 datagridview
- matlab - Matlab:如何将文件加载为结构数组
- windows - 我如何使用 Crypto API 来叹息 TLS 1.2 的哈希值
- javascript - 必应地图中未触发方向错误事件