龙空技术网

ElementUI el-table行内编辑验证,动态增减行

IT小超 1070

前言:

眼前我们对“js往table追加行”大概比较关心,同学们都想要学习一些“js往table追加行”的相关资讯。那么小编同时在网摘上网罗了一些关于“js往table追加行””的相关文章,希望我们能喜欢,兄弟们一起来了解一下吧!

通过el-from验证动态表格的行内输入

eltable动态增加行或者删除行只需要控制对应的数组就可以实现,行内的验证可以使用el-form的表单验 证,直接上代码:

el-form嵌套tableform验证,prop及rules的写法:

:prop="'lxrList.' + scope.$index + '.xingMing'":rules="lxrListRules.xingMing"12
完整的el-form及el-table代码
// el-form 在最外层 		<el-form            ref="dataFormLXR"            :rules="rules"            :model="lxrTemp"            label-position="right"            label-width="80px"          >            <el-table :data="lxrTemp.lxrList" show-header>              <el-table-column label="" min-width="600">                <template slot-scope="scope">                  <el-row>                    <el-col :span="6">                      <el-form-item                        label="姓名:"                        :prop="'lxrList.' + scope.$index + '.xingMing'"                        :rules="lxrListRules.xingMing"                      >                        <el-input v-model="scope.row.xingMing" placeholder="请填写姓名" />                      </el-form-item>                    </el-col>                    <el-col :span="6">                      <el-form-item                        label="电话:"                      >                        <el-input v-model="scope.row.dianHua1" placeholder="请填写电话" />                      </el-form-item>                    </el-col>                  </el-row>                </template>              </el-table-column>              <el-table-column label width="50" align="center">                <template slot-scope="scope">                  <el-button                    type="danger"                    icon="el-icon-delete"                    circle                    size="small"                    @click="deleteRow(scope.row,scope.$index)"//删除方法                  />                </template>              </el-table-column>            </el-table>            <el-row>              <el-col :span="24" align="right" style="padding:10px">                <div class="el-table-add-row">                  <el-button type="success" icon="el-icon-plus" circle size="small" @click="addRow()" />                </div>              </el-col>            </el-row>          </el-form>123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
data设置:

elform验证需要传入对象,因此table的数组需要放到对象中

 data() {    return {		lxrTemp: {        	lxrList: [	          {	            xingMing: '',	            dianHua1: '',	            zhiWu: '',	            xingBie: ''	          }	        ]	      }	  },	  //联系人验证规则	  lxrListRules: {        xingMing: [{ required: true, message: '请输入姓名', trigger: ['blur', 'change'] }],        xingBie: [{ required: true, message: '请输入性别', trigger: ['blur', 'change'] }]      },  }12345678910111213141516171819
增加行
	addRow() {      const item = {        xingMing: '',        dianHua: '',        zhiWu: '',      }      this.lxrTemp.lxrList.push(item)    },12345678
删除行
	deleteRow(row, index) {      this.lxrTemp.lxrList.splice(index, 1)    },123
保存时验证
self.$refs['dataFormLXR'].validate(valid => {	if(valid){	//写保存的逻辑	}else{	//提示必填信息	}})1234567
效果图

标签: #js往table追加行 #element ui 表单验证change 清除验证