Element plus 表单验证嵌套数组

在网上找到的都是以前版本的或者不能用的,现在整理一下可用的

// 元素排列 根据文档显示嵌套的字段prop 应为字符串数组
 <el-form-item prop="split">
        <el-form-item  :prop=`['split',${index},'product_id']`>
         </el-form-item>
  </el-form-item>

// form 字段
  const form = reactive({
        id:1,
        ....
        split:[
            {
                product_id:0
            }

        ]       
    })
// rule 定义
 const rules = reactive({
                split:[
                    {
                        type:'array',
                        required: true,
                        message: '请添加拆分单',
                        min:1,
                        defaultField: {
                            type: "object",
                            required: true,
                            // message: '',
                            fields: {
                                product_id: [{
                                    type: 'string',
                                    required: true,
                                    message:'请选择产品',
                                    trigger: 'change'
                                }],
                                price: [{
                                    type: 'number',
                                    required: true,
                                    message:'请填写价格',
                                    trigger: 'blur'
                                }],
                                signatory_id: [{
                                    type: 'string',
                                    required: true,
                                    message:'请选择负责人',
                                    trigger: 'change'
                                }],
                                renew_user_id: [{
                                    type: 'string',
                                    required: true,
                                    message:'请选择联系人人',
                                    trigger: 'change'
                                }]
                            }
                        }
                    },
                ]
            })

上面是能做到验证了但是有明显的的缺点就是,整体标红,并且只能对整体验证信息提示

这次我们修改一下,做到具体到单个项验证及提示

        <el-form-item  
        :prop="`split.${index}.product_id`"
        :rules="{required: true, message: '请填写信息', trigger: 'blur'}"
        >
         </el-form-item>

相比第一种更简单

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值