chartjs 为什么会重复绘制

发布于 2022-09-06 22:09:17 字数 1513 浏览 16 评论 0

import { Line } from 'vue-chartjs'

export default {
  extends: Line,
  props:{
    LineChartdata:{
      type:Array,
    },
    LineChartDate:{
      type:Array,
    }
  },
  methods:{
    setChart(){
      this.renderChart({
        labels: this.LineChartDate,
        datasets: [
          {
            label: 'Data One',
            backgroundColor: '#F64A32',
            data: this.LineChartdata,

          }
        ]
      },this.options)
    }

  },
    mounted () { },
    watch:{
      LineChartdata(newV){
        this.setChart(newV);

      }
    }
}

example.vue

<template>
<line-chart :width="370" :height="246" :LineChartdate="LineChartdate" :LineChartdata="LineChartdata"></line-chart>
</template>
<script>
import LineChart from './vue-chartjs/LineChart'
export default {
components: {
      LineChart
    },
},
data () {
  return {
    LineChartdata:[],
    LineChartDate:[]
  }
},
    methods:{
      getdata(){
        var user_id = this.getcookies('user_id');
          this.$http.post('http://example.com',{
            //post body
            user_id:user_id
          },{headers:{
            'datatoken':data_token,            
          }}).then((data)=>{
            //success
            this.LineChartdata=data.data
            this.Linechartdate=data.date
          })
        }

每次点击事件会给linechart中传入一个新的数组,导致每次都会重新绘制一个canvas。鼠标在表格上移动的时候会显示之前的表格。我尝试过每次传值都清空数据,当时还是不行,怎么让他每次绘制都覆盖掉之前的呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

岛歌少女 2022-09-13 22:09:17

你数组时如何操作的?把代码贴全了

半步萧音过轻尘 2022-09-13 22:09:17

this.LineChartdata = [];
this.LineChartDate = [];
每次要置空

匿名。 2022-09-13 22:09:17

我也遇到这个问题,请问解决了吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文