我正在尝试创建一个自定义输入类型(
multiField
),它在其内部显示多个任意输入。看起来 formly-field
指令应该使这变得合理可行。我应该能够将字段列表放入 multiField 元素的 JSON 元素中并让它们显示出来。
问题是,只有当我将这些字段放入
fieldGroup
属性中时,这似乎才有效。如果我把它们放在其他地方,一堆属性就不会被附加,所以这些字段就不起作用。 (显然,我将模板指向每种情况下字段所在的位置。)
这种方法有效:
{
type: 'multiField',
fieldGroup: [
// some fields
]
}
这种方式不会:
{
type: 'multiField',
templateOptions: {
fields: [
// some fields
]
}
}
通常我会采用第一种方法,因为显然这就是有效的方法。但我正在尝试从角度形式升级旧系统,并且一些现有数据以第二种方式进行。所以我也很想让它发挥作用。
现场演示:https://stackblitz.com/edit/ngx-formly-ui-bootstrap-4jiein?file=src%2Fapp%2Fapp.module.ts
如果仔细查看字段的 console.logs,您会发现它正式向 fieldGroup 内的字段添加了其他属性。这些属性似乎是有效的正式字段所必需的。不会为
templateOptions.fields
内的字段添加附加属性。当我有时间时,我可能会研究代码,找到原因并更新这个答案