效果图:
4月销量,5月销量,和6月销量这三列的表头不是写死的,是根据当前月往前推了3个月
<el-table-column v-for="(month, index) in threemonth" :key="index" :label="month">
<template slot-scope="scope" > {{ scope.row.sales_statistics[index] }} </template>
</el-table-column>
:key=”index”一定不可以漏掉,否则会有报错
data: function() { return { threemonth:[],//当前月前面的三个月
... } },
在tablehead方法,推算当月的前面3个月,1月2月3月是特殊情况
this.threemonth=threeMonth,渲染data中的threemonth
methods:{ tablehead:function(){ var that = this; var curMonth= new Date().getMonth()+1; var month1,month2,month3; var threeMonth=[]; switch (curMonth){ case 1: month1='10月销量'; month2='11月销量'; month3='12月销量'; break; case 2: month1='11月销量'; month2='12月销量'; month3='1月销量'; break; case 3: month1='12月销量'; month2='1月销量'; month3='2月销量'; break; default: month1=String(curMonth-3)+'月销量'; month2=String(curMonth-2)+'月销量'; month3=String(curMonth-1)+'月销量'; break; } threeMonth.push(month1,month2,month3); that.threemonth=threemonth; } },
页面初始化的时候,调用tablehead方法
created:function(){ var that = this; that.tablehead(); }