Vue+element的table校验,使用form+table实现

主要实现就是form嵌套table

代码有些长 这里只写大体的东西 一些非必要的属性就省略以方便参考

 <el-form  :model="table" :rules="rules" ref="validForm">        //外壳form主要是校验
    <el-table :data="table.tableData"  border>                             //页面显示的列表
        <el-table-column label="显示标题">
          <template slot-scope="scope">     //table的插槽自定义写法详情看element官网自定义列表
            <el-form-item
              :prop="`tableData[${scope.$index}].title`" //这个是传递每个值用来校验 和rules一定要对应上
              :rules="rules.title">           //如果是固定的可以直接绑定rules里的规则
              <el-input  v-model="scope.row.title"></el-input>
            </el-form-item>
          </template>
        </el-table-column>
        <el-table-column label="显示标题">
          <template slot-scope="scope">
            <el-form-item
              :prop="`tableData[${scope.$index}].name`"
              :rules=""[
                { required: true, message: '请选择', trigger: 'blur' } //这里展示第二种rules写法 
              ]"> 
              <el-date-picker
                v-model="scope.row.name"
                type="datetime"
                placeholder="选择日期时间">
              </el-date-picker>
            </el-form-item>
          </template>
        </el-table-column>
      </el-table>
    </el-form>

     //下面就是正常的提交就可以触发校验了
     this.$refs.validForm.validate((valid)=>{
       if(vaild){}
     })

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容