Мне нужно получить доступ к свойству объекта выбранной опции, отличному от фактического valueProp, указанного в templateOptions моей формальной формы.Я определил поле следующим образом:
vm.model = {};
vm.fields = [
{
className: 'row',
fieldGroup: [
{
className: 'col-xs-6',
key: 'code',
type: 'select2',
templateOptions: {
label: 'Funder',
valueProp: 'code',
labelProp: 'name',
options: [
{code: '123', name: 'Name1', type: 'abc'},
{code: '456', name: 'Name2', type: 'def'},
{code: '789', name: 'Name3', type: 'ghi'}
],
onChange: function($viewValue, $modelValue, $scope) {
for(var i = 0; i < $scope.to.options.length; i++) {
if($viewValue === $scope.to.options[i].code) {
vm.model.type = $scope.to.options[i].type;
break;
} else {
vm.model.type = '';
}
}
}
}
}
]
}
];
Я пытаюсь избежать написания цикла for просто для получения другого свойства объекта ... Есть ли простой способ получить это type
без него?
Вот бит html для загрузки формальной формы
<formly-form class="col-xs-12" model="vm.model" fields="vm.fields" form="vm.form"></formly-form>
Скажем, мы выбрали опцию Name2
, я хочу иметь возможность получить тип def
в vm.model.type