需求
从后台获取表格数据,表格中有输入框,每个输入框都要有校验。
效果图
代码
html:el-form
的model
绑定paramsLis
t,el-form-item
的prop
绑定'watchList.' + scope.$index + '.takeNum'
,第一行的el-form-item
绑定的值就是paramsList.watchList[0].takeNum
<el-form ref="paramsList" :model="paramsList">
<el-table :data="paramsList.watchList" border style="width: 100%">
<el-table-column prop="sampleName" label="样品名称" width="180">
</el-table-column>
<el-table-column prop="sampleLot" label="批号" width="150">
</el-table-column>
<el-table-column prop="lastNum" label="剩余数量" width="80">
</el-table-column>
<el-table-column prop="takeNum" label="调出数量" width="80">
<template slot-scope="scope">
<el-form-item
:prop="'watchList.' + scope.$index + '.takeNum'"
:rules="{
required: true,
message: 'Required',
trigger: 'blur',
}"
>
<el-input-number
style="width: 100%"
v-model="scope.row.takeNum"
:controls="false"
:min="0"
:max="scope.row.lastNum"
></el-input-number>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
js:因为el-form
的model
只能接收对象,所以需要在表格数组外面嵌套一层
paramsList:{
watchList: [{ sampleName: 1, sampleLot: 1, lastNum: 23 },{ sampleName: 1, sampleLot: 1, lastNum: 23 }],
},