请查看以下jsbin
您会注意到有两个字段。一个是普通input
,而另一个是引用exampleDirective
的新字段类型。请注意......在我的实际应用程序中,这些字段是从JSON拉出的,不会手动添加到fields
数组中。
我在DefaultValue
数组中的每条记录上设置了fields
。同样,这些默认值是从JSON中提取的。
RegularInput
字段在其输入字段中正确显示默认值。
DirectiveInput
不是。请查看模型,您将看到默认值已应用于字段本身,而不是输入字段(或多个字段,如果我有多个)在指令中。
有没有办法让DefaultValue
在这种情况下工作?如果不是......将从JSON中提取的值放在指令字段上的最佳方法是什么?
答案 0 :(得分:1)
只需更新传入的json,将“defaultValue”包含在传递给指令的表单对象中。试试这个:http://jsbin.com/coyuriyazu/1/edit?html,js,output
答案 1 :(得分:0)
我最终通过将数据传递给指令来解决我的问题。
formlyConfig.setType(
{
name: 'dirTest1',
template: '<div directive-test checked="to.IsChecked" amount="to.CoverageAmount"</div>'
});
通过这种方法,我可以在我的指令中指定IsChecked
和CoverageAmount
,并在指令中设置各种输入时传递我需要的值。所以,当我push
这个字段输入到我的字段数组时,我可以像这样设置我的值:
var newRow = {
key: TestKey,
type: dirTest1,
templateOptions: {
CoverageAmount: 12345,
IsChecked: true
}
};
vm.fields[i].fieldGroup.push(newRow);