字段上的必需属性不会动态更改

时间:2018-06-27 13:29:17

标签: javascript angularjs angular-formly

我的一个字段应该是强制性的(必填),也可以不取决于一个布尔变量。无论它是否更改,该字段均保留为必填项。不确定我的expressionProperties templateOptions.required出了什么问题,因为这是触发更改的原因。

这是我正式表格的一部分

vm.showDeleteButton = false;

vm.fields = [
    {
        className: 'row',
        fieldGroup: [
            {
                className: 'col-xs-6',
                key: 'transferDate',
                type: 'datepicker',
                templateOptions: {
                    label: 'Deallocation Date',
                    type: 'text',
                    datepickerPopup: 'dd/MM/yyyy',
                    minDate: vm.model.minDate,
                    maxDate: vm.model.maxdate,
                },
                expressionProperties: {
                    'templateOptions.required': !vm.showDeleteButton
                }
            }
        ]
    }
];

也尝试过

expressionProperties: {
    'templateOptions.required': function() {
         if(!vm.showDeleteButton) {
              return true;
         else {
              return false;
         }
     }
 }

我已经阅读了正式的表达式文档,但这也无济于事。

HTML要求

<formly-form model="vm.model" fields="vm.fields" options="vm.options" form="vm.form"></formly-form>

1 个答案:

答案 0 :(得分:0)

有点“破解”了它。

vm.showDeleteButton更改为vm.model.showDeleteButton,并在我的expressionProperties中写道

expressionProperties: {
   'templateOptions.required': '!model.showDeleteButton'
}