vue多重输入

效果图

 

 <div class="block-box">
          <i class="iconfont icon-jia plus" v-if="!list.length" @click="addContent"></i>
          <el-row class="input-row" v-for="(item,index) in list" :key="index">
            <div class="copy_box">
              <el-form-item label="认证类型" prop="type">
                <el-radio-group v-model="item.marker_type">
                  <el-radio :label="1">头像</el-radio>
                  <el-radio :label="2">关注</el-radio>
                  <el-radio :label="3">粉丝</el-radio>
                  <el-radio :label="4">学习时长</el-radio>
                </el-radio-group>
              </el-form-item>
              <el-form-item label="认证名称">
                <el-input v-model="item.marker_name" placeholder="请输入认证名称" size="medium" class="input-detail"></el-input>
              </el-form-item>
              <el-form-item label="认证图标">
                <upload-imgs class="attestation_upload" ref="uploadEle" :max-num="maxNum" :value="item.attestation_initData" :rules="rules2" tag="attestation" :attestation_index="index" @getSendImg="getSendImg" />
              </el-form-item>
            </div>

            <div class="function">
              <i class="iconfont icon-jian1 minus" @click="removeContent(index)"></i>
              <i class="iconfont icon-jia plus" v-if="index === list.length-1" @click="addContent"></i>
            </div>
          </el-row>
        </div>
export default {
    data(){
        return{
            list:[
                {
                  marker_img: '',
                  marker_name: '',
                  marker_type: '',
                  attestation_initData: [],
                }
            ]
        }
    },
    methods:{
         addContent() {
      this.list.push({
        product_id: this.goodEditData.id,
        marker_img: '',
        marker_name: '',
        marker_type: '',
        attestation_initData: [],
      })
    },
    removeContent(index) {
      this.list.splice(index, 1)
    },
    }
}
.block-box {
  background: #f7f7f7;
  // padding: 20px;
  .plus {
    cursor: pointer;
    font-size: 24px;
    font-weight: 500;
    color: #3765b6;
  }

  .input-row {
    display: flex;
    justify-content: space-between;
    // width: 400px;
    // margin-bottom: 20px;

    .input-detail {
      width: 300px;
    }

    .function {
      display: flex;
      justify-content: space-between;
      width: 60px;
      height: 36px;
      line-height: 36px;
      cursor: pointer;
      margin-right: 25px;
      .iconfont {
        font-size: 24px;
        font-weight: 500;

        &.plus {
          color: #3765b6;
        }

        &.minus {
          font-size: 26px;
          color: #c7485b;
        }
      }
    }
  }
}

样式使用scss写的!

实现原理:

通过操作list数组!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue车牌输入控件是一种基于Vue框架开发的控件,用于方便用户在表单中输入和验证车牌号码。 首先,需要在Vue项目中引入车牌输入控件的组件。可以使用npm或yarn安装相应的组件库,如"vue-license-plate-input"。在Vue组件中,导入该组件并注册为全局或局部组件。 然后,在需要使用车牌输入控件的表单中,使用该组件标签来渲染输入框。可以设置相关属性,如placeholder(占位符)、maxlength(最大长度)等来定制输入框的外观和行为。 控件一般包含输入验证功能。例如,可以通过正则表达式验证用户输入的车牌号码是否符合指定的格式要求。在用户输入内容或提交表单时,通过定义的验证规则来检查输入是否有效。 可以为车牌输入控件添加额外的功能,例如自动完成功能。当用户输入车牌号码的前几位时,控件可以根据已有的车牌号码信息提供列表供用户选择。用户选择后,控件将自动填写完整的车牌号码。 此外,还可以为控件添加一些交互特性。例如,控件可以根据用户输入的内容实时显示输入框右侧的提示信息,告诉用户输入是否正确。当用户输入不符合规则时,可以在输入框下方显示错误提示信息,以帮助用户更好地完成输入。 总之,Vue车牌输入控件是一种方便用户输入和验证车牌号码的工具。通过合适的配置和交互设计,可以提供更好的用户体验,并在表单验证时提供便捷的辅助功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值