问题标签 [angular-abstract-control]
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.
arrays - Angular FormControl 的 material-checkboxes.component 具有选定的值,但 this.controlValue 是一个空数组
我有一个我构建的 Angular 表单,它由一个材料复选框组件组成。我有这个组件的两个副本,一个是静态的,一个是动态的。唯一的区别是动态版本从 API 调用中获取其控制值。这两个示例都有一个或多个选项,在控件初始化时默认为选中。
我遇到的问题是动态模型与其视图不同步,只要它保持不变(即,如果我不单击任何复选框控件来选择或取消选择它们)。单击其中一个复选框后,模型会更新以与视图同步。
我可以告诉这一点,因为我可以提交静态版本并获得预期的结果(默认项目按预期作为值发布)。但是,当我提交动态的时,我得到一个空帖子。
这是组件在我提交它以查看提交的表单数据之前使用默认值的样子:
这是结果提交的值(如预期的那样):
作为比较,这里是相同的控件(material-checkboxes.component.ts),但使用外部数据源构建以馈入 titleMap,并且还具有默认值。
这是提交上述表格后的结果:
因此,正如屏幕截图所示,手动创建的文件按预期工作,并提交包含默认值的表单。但是,具有动态生成值的组件,即使视图显示它已选择默认选项,也会作为 EMPTY 提交。
预期:this.controlValue = ['12', 'd4']
实际的:
onInit > this.controlValue = ['12', 'd4']
updateValue 方法后 > this.controlValue = undefined // 但是视图从初始化开始没有变化
但是,如果我手动更改任何值,我可以让它按预期提交数据,即使我将它们完全设置为默认值。就好像在手动单击选项之前没有设置表单数据。
以下是包含该组件的模板的片段:
formgroups - 是否可以从AbstractControl获取FormGroup,或者从(AbstractControl /FormGroup)获取FormBuilder?
是否有可能FormGroup
从FormControl
(AbstractControl
特别)获得?
或者是否有可能获得FormBuilder
fromFormGroup
和/或FormControl
?
谢谢!
angular - 为什么值不显示在生成的表单数组元素中?
我在我的项目中使用 angular12。我尝试在我的项目中使用表单数组。
这是我的使用方法:
模板:
打字稿:
加载页面时,我得到 3 个空输入,其中没有任何文本。虽然我希望在每个输入表单中输入文本:
support@gmail.com info@dw.com ritter@hamburg.org
知道为什么输入为空吗?为什么不显示文字?