我有一个小表单,其中包含某些复选框的默认值,例如,有一个人模型,当单击formly生成的表单中的复选框“dog”时,它将添加到“pets”数组中的字符串构成人模型一部分的狗。我怎么能以形式实现这个目标?
{
key: "dog",
type: "checkbox",
templateOptions: {
???
}
}
表单示例:
Person name: Joe
Pets:
[x] dog
这会将模型设置为:
{
"name": "Joe"
"pets": [ "dog" ]
}
答案 0 :(得分:0)
@veg,这个问题是角度形式,而不是角度。这不一样。显着如此。
在初始化中:
vm.model = { //initialize a model with a pets property holding an empty array.
pets: []
}
在您的田野模型中:
{
key: 'dog',
type: 'checkbox',
templateOptions: {
label: 'dog',
onChange: function($viewValue, $modelValue, $scope) {
if($modelValue) $scope.model.pets.push('dog'); //if it's true--add it
else { //need to remove it from the array
var index = $scope.model.pets.indexOf('dog'); //get the index
$scope.model.pets.slice(index, index+1); //remove it from the array
}
}
},
}