el-input-number控件对属性绑定值的类型要求比较高,和数字相关的属性一律直接受number类型。由此引发的一个坑:明明绑定了data,但是没有显示在input框里,log打出的绑定值为undefined,看图
我的控件代码:
<el-table-column label="返回数量" prop="returnItemNum" align="center">
<template #default="scope">
<el-input-number v-model="scope.row.returnItemNum"
size="mini" :min="0"
:max="scope.row.seedingItemNum">
</el-input-number>
</template>
</el-table-column>
可以看出是控件是嵌套在table里的,max属性绑定为表格的另一个字段。min和max作为计数器控件的属性要求类型为number,需要在赋值的时候将字符串转为数字类型
正确的赋值方法:
this.seedingForm.returnTableValue.push({
returnID: result.returnInfo[i].returnID,
itemCode: result.returnInfo[i].itemCode,
businessCode: result.returnInfo[i].businessCode,
itemNickname: result.returnInfo[i].itemNickname,
itemName: result.returnInfo[i].itemName,
returnItemNum: result.returnInfo[i].returnItemNum, //控件的绑定值
seedingItemNum: parseInt(result.returnInfo[i].seedingItemNum) //max属性的绑定值
})