需求描述:
表格有多行;
每一行都有长宽高;
当用户输入长宽高时,自动计算出体积;
长、宽、高、体积都需要存储到后端,都有对应字段;
也有用户不输入长宽高,直接输入体积的情况;
解决方法如下:
给长、宽、高增加@input
<el-table-column sortable label="LENGTH(cm)" width="150px" align="center" prop="length"
:show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input v-model="scope.row.length" @input="onInputChange(scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column sortable label="WIDTH(cm)" width="120px" align="center" prop="width"
:show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input v-model="scope.row.width" @input="onInputChange(scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column sortable label="HEIGHT(cm)" width="150px" align="center" prop="height"
:show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input v-model="scope.row.height" @input="onInputChange(scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column sortable label="VOLUME(M³)" width="150px" align="center" prop="volume"
:show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input v-model="scope.row.volume"></el-input>
</template>
</el-table-column>
//
onInputChange(row){
console.log('row = ', row)
if(row.height && row.length && row.width){
row.volume = ((row.height * 0.01) * (row.length * 0.01) * (row.width * 0.01)).toFixed(3)
}
},