Vue实现ECharts柱状图数据轮播(自动分页加载)

Vue实现ECharts柱状图数据轮播(自动分页加载)

vue

 <div id="main"></div>```

js

import echarts from './echarts'
export default {
	data() {
      return {
        curPage: 1,
        totalPage: 1,
        itemNumPerPage: 1,//每页显示条数,自己调整
        dataList :{
        	xData:["测试1","测试2"],
        	yData:[20,30]
		}
        }
      }
     mounted() {
    this.myEcharts();
      let that=this;
      const timer = setInterval(() => {
        let curPage=that.curPage==that.totalPage?1:that.curPage+1;
        that.curPage=curPage;
        that.myEcharts();
      }, 5000)//设置时间
      //销毁定时器
      this.$once('hook:beforeDestroy', () => {
        clearInterval(timer)
      })
    }, 
    methods: {
      myEcharts() {
        this.totalPage = Math.ceil(this.dataList / this.itemNumPerPage)
        this.totalPage = this.totalPage < 1 ? 1 : this.totalPage;
        let chartDom = document.getElementById("main");
        let myChart = echarts.init(chartDom);
         let option;
        option = {
          tooltip: {
            trigger: 'axis',
            axisPointer: {
              type: 'cross',
              label: {
                backgroundColor: '#6a7985'
              }
            }
          },
          //图列
          legend: {
            data:["测试"]
          },
          //x轴
          xAxis: {
            type: 'category',
            data: this.getCurPageContent(this.dataList.xData,this.curPage,this.itemNumPerPage),
          },
          yAxis: {
            type: 'value',
          },
          series: [
            {
              name: "测试",
              type: 'bar',
              stack: 'Total',
              data:  this.dataList.yData,
            }
          ],
        };
        option && myChart.setOption(option);
},
	getCurPageContent: function (numberArr, curPage, itemNumPerPage) {
        return numberArr.filter(function (element, index) {
          if (index >= (curPage - 1) * itemNumPerPage && index < curPage * itemNumPerPage) {
            return true
          } else {
            return false
          }
        })
      },
}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值