在el-table中循环表单并验证

本文分享了在Vue项目中,如何使用el-table组件实现动态添加数据行,并对每行的input输入框进行数据绑定及验证的过程。通过同事的帮助,作者解决了数据类型格式的问题,实现了根据table列数循环创建input框,并确保每个输入框的值独立且不重复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有一个需求,在table中添加一组数据,table的行中增加一组input框并进行校验

自己钻了一个牛角尖,没搞清楚数据类型格式,最后在同事的帮助下,写出了该表格,记录下来备用~

页面布局:

将input根据el-table的lable的个数进行循环,input双向绑定的值以索引值为参数 scope.row[index] 可以使值独立不重复(在这里走了好多坑~没想到怎么设置父元素的数据格式)

<el-form label-width = "85px" :model = "addData" :rules = "rules" ref = "addData">
    <el-table :data = "addData.paramslist" id = "noData">
              <el-table-column :label = "item" v-for = "(item,index) in paramsName" :key = "index">
                <template slot-scope = "scope">
                  <el-form-item
                    class = "noML"
                    :key = "scope.row.key"
                    :prop = "'paramslist.' + scope.$index + '.'+index"
                    :rules = "{required: true, message: '值不能为空', trigger: 'blur'}">
                    <el-input size = "mini" v-model = "scope.row[index]"></el-input>
                  </el-form-item>
                </template>
              </el-table-column>
            </el-table>
</el-form>

data数据定义的格式

addData: {
          paramsName: ['第一组', '第二组'],
          paramslist: [['']],
        },

点击添加一组数据

addParams () {
        let newArr = [], id = '', params = [], paramsListArr = []
         params = this.paramsName
         paramsListArr = this.addData.paramslist
        for (let i = 0; i < params.length; i++) {
          newArr.push(id)
        }
        paramsListArr.push(newArr)
      },

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值