Element-ui的子组件的el-from校验规则要跟随父组件的某个值发生变化

1. 因为我父组件表单的验证规则也会根据这个值发生变化,所以就写了一个计算属性

const isDeclaration = computed(() => {
    if (state.info.isCustomsType) {
        return true
    }
    return false
})
//这里只放一条验证规则演示就行
transportMethod: [{ required: isDeclaration, message: '', trigger: ['blur', 'change'] },],

2. 子组件我是直接把这个计算属性通过 props 传递过去了

3. 出现的问题:直接定义 rules 的值 ,无法监听到 父组件中 isDeclaration 值的变化

const rules = reactive<FormRules<RuleForm>>({
    exportCompany: [
        { required: props.isDeclaration, message: '', trigger: 'blur' },
    ],

4. 解决办法 : 定义的 rules 使用 computed 计算属性 return 出去 

const computedRules = computed(() => {
    return {
        exportCompany: [
            { required: props.isDeclaration, message: '', trigger: ["blur", "change"] },
        ],}

 这样就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值