element-ui form表单嵌套循环校验

element-ui form表单嵌套校验

  1. 记录一次使用 element-ui form 表单嵌套校验的需求
  2. 数据结构: formData:{id:1,type:'test数据',input_info:[...]}
    上述formData 中的 input_info 数组就是我们需要渲染成表单的数据
    具体使用:
		<div class="form">
            <el-form label-position="right" label-width="145px"  ref="inputFieldForm" :model="formData">
              <el-form-item
                v-for="(item,index) in formData.input_info"
                :key="item.id"
                :label="item.cn_alias + ':'"
                :prop="`input_info[${index}].ds_column_name`"
                :rules="{
                  required: item.is_require,
                  message: '输入字段值不能为空!',
                  trigger: item.ds_type === 1 ? 'change':'blur',
                }"
              >
                <el-radio-group v-model="item.ds_type" @change="ev_changeFieldType(item,index)">
                  <el-radio :label="2">数据源</el-radio>
                  <el-radio :label="1">元数据</el-radio>
                </el-radio-group>
                <el-input style="display:block" v-show="item.ds_type === 2" v-model="item.ds_column_name" type="text" placeholder="请输入" clearable></el-input>
                <autocomplate-input
                  v-show="item.ds_type === 1"
                  requestAPI="metaDataList"
                  ref="input_info"
                  optionKey="name"
                  optionValue="name"
                  modelAttr="ds_column_name"
                  dataSourceType="optionKey"
                  :sourceData="item"
                ></autocomplate-input>
              </el-form-item>
            </el-form>
          </div>

js操作

清空具体某个校验:
 this.$refs['inputFieldForm'].clearValidate(`input_info[${index}].ds_column_name`)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值