el-ement 动态增减表单项校验

 效果图:

注意prop与rules的

html:

    <el-form-item
          v-for="(phoneItem, phoneIndex) in edit_form.phone_list"
          :label="`${phoneIndex==0?'手机号':''}`"
          :key="`phoneItem${phoneIndex}`"
          :prop="'phone_list.' + phoneIndex + '.phoneValue'"
          :rules="rules.phoneValue"
        >
            <el-col :span="12">
              <el-input v-model="phoneItem.phoneValue" clearable placeholder="请输入手机号"></el-input>
            </el-col>
            <i v-if="phoneIndex==0" @click.prevent="addPhone" style="font-size:20px;color:green;margin-left:10px" class="el-icon-circle-plus-outline"></i>
            <i v-if="phoneIndex!=0" @click.prevent="removePhone(phoneIndex)" style="font-size:20px;color:red;margin-left:10px" class="el-icon-delete"></i>
        </el-form-item>

   <el-form-item
          v-for="(emailItem, emailIndex) in edit_form.email_list"
          :label="`${emailIndex==0?'邮箱':''}`"
          :key="`emailItem${emailIndex}`"
          :prop="'email_list.' + emailIndex + '.emailValue'"
          :rules="rules.emailValue"
        >
            <el-col :span="12">
              <el-input v-model="emailItem.emailValue" clearable placeholder="请输入邮箱"></el-input>
            </el-col>
            <i v-if="emailIndex==0" @click.prevent="addEmail" style="font-size:20px;color:green;margin-left:10px" class="el-icon-circle-plus-outline"></i>
            <i v-if="emailIndex!=0" @click.prevent="removeEmail(emailIndex)" style="font-size:20px;color:red;margin-left:10px" class="el-icon-delete"></i>
        </el-form-item>

data中:

 edit_form: {
        phone_list:[{phoneValue:""}],
        email_list:[{emaliValue:""}]
      },

rules:{
        phoneValue:{ validator: validatePhone,  trigger: 'blur' },
        emailValue:{ validator: validateEmail,  trigger: 'blur' }
       },
//validatePhone、validateEmail为自定义校验 

methods:新增与删除

 addPhone(){
      this.edit_form.alert_phone_list.push({phoneValue:""})
    },
    removePhone(index){
      this.edit_form.alert_phone_list.splice(index,1)
    },
    addEmail(){
        this.edit_form.alert_email_list.push({emailValue:""})
    },
    removeEmail(index){
      this.edit_form.alert_email_list.splice(index,1)
    },

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值