vue-apexchart updateSeries 移动页面滚动

如何解决vue-apexchart updateSeries 移动页面滚动

我正在使用实时折线图,当我在每次更新时向下滚动图表时,它会向上移动页面滚动一点(我的间隔是 1000,所以每秒)

代码如下:


<template>
  <div id="chart">
    <apexchart type="line" height="100" ref="chart" :options="chartOptions" :series="series"></apexchart>
  </div>
</template>

<script>
let lastDate = 0;
let data = []
let TICKINTERVAL = 86400000
let XAXISRANGE = 777600000
function getDayWiseTimeSeries(baseval,count,yrange) {
  let i = 0;
  while (i < count) {
    let x = baseval;
    let y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;

    data.push({
      x,y
    });
    lastDate = baseval
    baseval += TICKINTERVAL;
    i++;
  }
}
  
getDayWiseTimeSeries(new Date('11 Feb 2017 GMT').getTime(),10,{
  min: 10,max: 90
})

function getNewSeries(baseval,yrange) {
  let newDate = baseval + TICKINTERVAL;
  lastDate = newDate

  for(let i = 0; i< data.length - 10; i++) {
    // IMPORTANT
    // we reset the x and y of the data which is out of drawing area
    // to prevent memory leaks
    data[i].x = newDate - XAXISRANGE - TICKINTERVAL
    data[i].y = 0
  }

  data.push({
    x: newDate,y: Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min
  })
}

function resetData(){
  // Alternatively,you can also reset the data at certain intervals to prevent creating a huge series 
  data = data.slice(data.length - 10,data.length);
}

export default {
  name: "BtcChart",props: {
    color: String,},data() {
    return {
      series: [{
        data: data.slice()
      }],chartOptions: {
        chart: {
          id: 'realtime',height: 100,type: "line",zoom: {
            enabled: false,animations: {
            enabled: true,easing: "linear",dynamicAnimation: {
              speed: 1000
            }
          },toolbar: {
            show: false,dataLabels: {
          enabled: false,stroke: {
          curve: "smooth",width: 2,colors: [this.color],grid: {
          show: false,tooltip: {
          enabled: false,x: {
            format: "dd MMM yyyy",xaxis: {
          axisBorder: {
            show: false,axisTicks: {
            show: false,labels: {
            show: false,yaxis: {
          show: false,};
  },mounted: function () {
    var me = this
    window.setInterval(function () {
      getNewSeries(lastDate,{
        min: 10,max: 90
      })
      
      me.$refs.chart.updateSeries([{
        data: data
      }])
    },1000)
  
    // every 30 seconds,we reset the data to prevent memory leaks
    window.setInterval(function () {
      resetData()
      
      me.$refs.chart.updateSeries([{
        data
      }],false,true)
    },30000)
  },};
</script>


那么我的代码有什么问题?我已经有八个这样的图表,当我向下滚动时,它会向上移动页面直到到达图表部分

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?