admin管理员组

文章数量:1641327

根据控件是否禁用,开启或者关闭该控件的必须项检查。

<Form-Item prop="link_address" :show-message="!disableLinkAddress" label="链接地址">

<i-Input :disabled="disableLinkAddress" placeholder="Enter something..." v-model="formModel.link_address" ></i-Input>

</Form-Item>

<Form-Item prop="menu_name" label="菜单名称">

<i-Input type="text" placeholder="Username" v-model="formModel.menu_name">

<Icon type="ios-person-outline" slot="prepend"></Icon>

</i-Input>

</Form-Item>

disableLinkAddress

true

时,不对链接地址这个控件做检查

disableLinkAddress

false

时,对链接地址这个控件做检查

formRules: {

menu_name: [{required: true, trigger: 'blur'}],

link_address: [{required: true, message: '链接地址不能为空', trigger: 'blur'}]}

watch: {

'formModel.parent_menu_seq': function (newValue, oldValue) {

var self = this;

if (newValue == 0) {

self.disableLinkAddress = true;

self.formRules['link_address'].pop()

} else {

self.disableLinkAddress = false;

self.$nextTick(function () {

self.formRules['link_address'].push({required: true, message: '链接地址不能为空', trigger: 'blur'})

})

}

}

},

我目前的做法是

watch: {

disableLinkAddress: function (newValue, oldValue) {

var self = this;

if (newValue) {

self.formRules['link_address'] = [{required: false, trigger: 'blur'}]

} else {

self.formRules['link_address'] = [{required: true, message: '链接地址不能为空', trigger: 'blur'}]

}

}

},

但是这样做有个问题,

trigger: 'blur'

失效了,焦点离开控件后,validate不能自动触发了。

请教解决思路和方法。

本文标签: 表单控件动态iviewdisabled