AngularJs Formly - 动态添加包装器

时间:2015-09-03 13:55:24

标签: angularjs angular-formly

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

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

New-ADUser : The object already exists
At C:\users\jbaruch\desktop\getADUsers.ps1:16 char:12
+     New-ADUser <<<<  -Name $DetailedName -SamAccountName $SAMName -UserPrincipalName $UserPrincipalName -DisplayName
$SAMName -GivenName $UserFirstname -Surname $UserLastname -AccountPassword (ConvertTo-SecureString $Password -AsPlainTe
xt -Force) -Enabled $false -Description $Description -EmailAddress $UserPrincipalName -CannotChangePassword $true -Chan
gePasswordAtLogon $false -Path $OU
    + CategoryInfo          : NotSpecified: (CN=Shradha Sang...k12,DC=ny,DC=us:String) [New-ADUser], ADException
    + FullyQualifiedErrorId : The object already exists,Microsoft.ActiveDirectory.Management.Commands.NewADUser

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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