如果从相应的下拉框中选择了一个选项,我想要输入字段。一旦从下拉框中选择了一个选项,我的2个字段就会重复,因此用户不限于单个选项。所以...如果选择exportSupplier
,则agreementReference
变为required
。但是,如果有多个exportSupplier
且其中至少有一个未被选中,则表单会将agreementReference
字段视为not required
。
如果选择了相应的agreementReference
,如何制作相应的required
字段exportSupplier
?
vm.exportSuppliers = [{ exportSupplier: '', agreementReference: '' }];
vm.exportSupplierFields = [
{
fieldGroup: [
{
className: 'col-xs-6',
key: 'exportSupplier',
type: 'select2',
templateOptions: {
label: 'Export Supplier',
required: false,
options: [],
onChange: function() {
vm.addExportSupplier();
}
}
},
{
className: 'col-xs-5',
key: 'agreementReference',
type: 'input',
templateOptions: {
label: 'Agreement Reference',
onChange: function() {
vm.addExportSupplier();
}
},
expressionProperties: {
'templateOptions.required': '!!model["exportSupplier"]'
}
}
]
}
];
vm.addExportSupplier = function() {
if (vm.exportSuppliers[vm.exportSuppliers.length - 1].exportSupplier || vm.exportSuppliers[vm.exportSuppliers.length - 1].agreementReference) {
vm.exportSuppliers.push({ exportSupplier: '', agreementReference: '' });
}
};
我的HTML
<div ng-repeat="supplier in vm.exportSuppliers" class="row">
<formly-form model="supplier" fields="vm.exportSupplierFields"
form="vm.informationExportSupplier.form" index="$index">
</formly-form>
</div>
我尝试了不同的变体来将$ index添加到'templateOptions.required'字段中,但没有成功。
答案 0 :(得分:0)
我尝试了不同的变体来将$ index添加到'templateOptions.required'字段中,但没有成功。
<div ng-repeat="supplier in vm.exportSuppliers" ng-init="outsideIndex = $index">
<formly-form model="supplier" fields="vm.exportSupplierFields"
form="vm.informationExportSupplier.form" ̶i̶n̶d̶e̶x̶"̶$̶i̶n̶d̶e̶x̶"̶
options="{data: {outsideIndex: outsideIndex}}">
</formly-form>
</div>
来自文档:
options
表格的选项。
data
这是一个对象。把你想要的任何东西放在这里。