html - 如何通过 html 表单设置嵌套 formBuilder 组的值
问题描述
嵌套 formBuilder 的示例:
ngOnInit() {
this.user = this.fb.group({
name: ['', [Validators.required, Validators.minLength(2)]],
quest1: ['', Validators.required],
account: this.fb.group({
email: ['', Validators.required],
confirm: ['', Validators.required]
})
});
}
还有我的 html 表单示例:
<form class="ui-fluid form-group" [formGroup]="user ">
<div class="ui-g-12 ui-md-6">
<span class="md-inputfield">
<input type="text" pInputText formControlName="name">
<label>Name</label>
</span>
</div>
<div class="ui-g-12 ui-md-6">
<span class="md-inputfield">
<input type="text" pInputText formControlName="quest1">
<label>Question</label>
</span>
</div>
<div class="ui-g-12 ui-md-6">
<span class="md-inputfield">
<input type="text" pInputText formControlName="account.email">
<label>Email</label>
</span>
</div>
<div class="ui-g-12 ui-md-6">
<span class="md-inputfield">
<input type="text" pInputText formControlName="account.confirm">
<label>Confirm</label>
</span>
</div>
</form>
我将嵌套控制器组设置为formControlName="account.confirm"但它没有从中获得价值。如何在我的表单中设置嵌套的表单控件?
解决方案
你必须使用formGroupName
即,
<div formGroupName="account">
随后仅使用内部表单组中的控件名称
<input type="text" pInputText formControlName="confirm">
现在内部形式将如下所示:
<form class="ui-fluid form-group" [formGroup]="user">
...
<div formGroupName="account">
...
<input type="text" pInputText formControlName="email">
...
<input type="text" pInputText formControlName="confirm">
</div>
</form>
推荐阅读
- rust - 如何以线程安全的方式重置 Arc?
- python - 无法返回并插入 pandas 列(EMPTY SPACE)
- android - 如何将生成的第一个编辑文本集中在 ArrayList 上
并在填充后点击 Kotlin 中的文本视图转到下一个 - android - TextView 多行文本行高
- reactjs - 为什么我的所有列表项的状态都在改变,而不仅仅是一个?React.js,状态,HandleChange,模态
- python - 我可以在 OneDrive / Sharepoint 中创建未过期的令牌吗?
- express - 使用 API 在 Vercel 上部署 Nuxt JS
- web-services - 您可以从 Google Places API 查询中返回多个营业地点吗?
- error-handling - 为什么不能用?(问号)直接在 Rust 中的 collect() 上?
- excel - 加快跨多个工作表VBA的复制/粘贴