AngularJs Formly - 动态添加包装器

AngularJs Formly - Dynamically add wrapper

我创建了几种字段类型。它们彼此相似,只是它们的包装纸不同。一种类型可能需要包装在另一种不需要的东西中(因此创建了多种类型)。

是否可以将包装器传递给字段类型?也许是这样的:

vm.fields=[
    {
        key: 'name',
        type: 'fieldType1'
        wrappers: ['wrapper1', 'wrapper2']
    }
]

为了将来支持这一点,我正在尝试使用最少的字段类型。如果这些类型之间的唯一区别是包装器......我希望在将字段添加到我的字段数组时,我可以将我想要的包装器注入到类型中。

您实际上可以将 wrapper 定义为字段 属性 (docs),如下所示:

vm.fields=[
    {
        key: 'name',
        type: 'fieldType1'
        wrapper: ['wrapper1', 'wrapper2']
    }
]

(注意,此示例与您的代码之间的唯一区别是它是 wrapper 而不是 wrappers)。

我意识到(并道歉)该名称令人困惑,但对于它的价值,您可以指定一个字符串或字符串数​​组,因此在这种情况下它是有意义的:

vm.fields=[
    {
        key: 'name',
        type: 'fieldType1'
        wrapper: 'wrapper1'
    }
]