实例:
el-table中的有一列是用户手动输入,输入框的值不能大于某一列的值。
<el-table-column
prop="count"
label="数量"
>
<template slot-scope="scope">
<el-form-item
:prop="'tableData.' + scope.$index + '.num'"
:rules="[
{ required: true, validator: (e1, e2, e3) => vaildNum(e1, e2, e3, scope.row), trigger: 'change', },
]"
>
<el-input
size="small"
v-model="scope.row.num"
placeholder="请输入"
clearable
style="width:100%"
/>
</el-form-item>
</template>
</el-table-column>
methods: {
// 数量校验
vaildNum(rule, value, callback, row) {
if (value) {
// 退货数量不能大于入库数量
if (value > row.useNum) {
callback(new Error("退货数量不能大于入库数量"));
} else if(value == 0) {
callback(new Error("退货数量不能为0"));
} else {
callback();
}
} else {
callback(new Error("退货数量不能为空"));
}
},
}