echarts数据变了不重新渲染,以及重新渲染了前后数据会重叠渲染的问题

摘要:
}}2.重新渲染了前后数据会重叠渲染的问题chart.setOption;将notMerge设置为true就可以echarts画布删除历史数据重新渲染数据notMerge是可选项,是否不跟之前设置的option进行合并,默认为false,即合并。

1.echarts数据变了但是视图不重新渲染

新建Chart.vue文件

<template>

<p :id="id":style="style"></p>

</template>

<script>

export default{

name: "Chart",

data() {

return{

//echarts实例

chart: ""

};

},

props: {

//父组件需要传递的参数:id,width,height,option

id: {

type: String

},

{

type: String,

default: "100%"

},

height: {

type: String,

default: "300px"

},

option: {

type: Object,

//Object类型的prop值一定要用函数return出来,不然会报错。原理和data是一样的,

//使用闭包保证一个vue实例拥有自己的一份props

default() {

return{

title: {

text: "vue-Echarts"

},

legend: {

data: ["销量"]

},

xAxis: {

data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子","tuoxie"]

},

series: [

{

name: "销量",

type: "line",

data: [5, 20, 36, 10, 10, 70]

}

]

};

}

}

},

computed: {

style() {

return{

height: this.height,

this.width

};

}

},

mounted() {

this.init();

},

methods: {

init() {

this.chart = this.$echarts.init(document.getElementById(this.id));

this.chart.setOption(this.option);

}

}

};

</script>

新建App.vue文件,chart在App.vue中简单渲染出来

<template>

<p id="app">

<Chart id="test"/>

</p>

</template>

<script>

import Chart from "./components/Chart";

export default{

name: "App",

data() {},

components: {

Chart

}

}

</script>

支持数据自动刷新

//在Chart.vue中加入watch

watch: {

//观察option的变化

option: {

handler(newVal, oldVal) {

if(this.chart) {

if(newVal) {

this.chart.setOption(newVal);

} else{

this.chart.setOption(oldVal);

}

} else{

this.init();

}

},

deep: true //对象内部属性的监听,关键。

}

}

2.重新渲染了前后数据会重叠渲染的问题

chart.setOption(option,notMerge,lazyUpdate);将notMerge设置为true就可以echarts画布删除历史数据重新渲染数据
notMerge是可选项,是否不跟之前设置的option进行合并,默认为false,即合并。

免责声明:文章转载自《echarts数据变了不重新渲染,以及重新渲染了前后数据会重叠渲染的问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SourceTree使用教程详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决)改造前后端分离的jeecg项目部署到k8s中下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Activity 的 36 个问题,你还记得几个?(转)

作者:_yuanhao 链接: https://www.jianshu.com/p/86c0a4afd28e 本文由作者授权发布。 文章包含图片很多,已经尽力让图片尽可能可以看清了,但是无奈手机屏幕太小,仍有一些模糊~ 0前言 学 Android 有一段时间了,一直都只顾着学新的东西,最近发现很多平常用的少的东西竟让都忘了,趁着这两天,打算把有关 Acti...

uni-app微信相关开发问题记录:微信分享报错"包名不对,请检查包名是否与开放平台填写一致"、Android微信支付只能调起一次的问题、App微信登录与公众号微信登录的unionid不一致

1、微信分享报错“微信:包名不对,请检查包名是否与开放平台填写一致”   具体原因及分析见这篇博客:uniapp微信APP支付踩坑指南:报错errMsg: "requestPayment:fail errors" 2、Android微信支付只能调起一次的问题   Android微信支付只能调起一次,之后就再不成功;有博客说卸载微信重装之后,就能成功,发现...

vue初级学习--使用 vue-resource 请求数据

一、导语   我发现好像我最近几次写文,都是在7号,很恰巧啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 二、正文   最近用vue做一个订单管理混合开发APP,但是遇到个问题,使用了vueResource的post请求,后端做了跨域解决方...

Win10系统的SurfacePro4如何重装系统-1 SurfacePro专用的PE

下载SurfacePro专用的PE(普通的PE可能不支持触摸屏操作,甚至没法启动Surface,所以务必要重新制作PE),下面提供百度云下载地址,下载之后,双击EXE,会进行检测 链接:https://pan.baidu.com/s/1RHK8EUaLzoPnNfRyH9ZrLg 密码:owno   然后进入下面的窗口,选择目标优盘,所有参数都是默...

最近3款Android APP逆向分析总结

项目需求,最近team逆向了3款竞品APP,总结一些经验和想法, 三款APP分别是A、B和C, A: 无法中间人,抓不到包,一旦走Charles,则提示更新APP。 一定是做了证书校验,Android里面是SSL Pinning,分析后是在Java侧做的,直接hook掉校验函数即可。 B: 可抓包,但需要socks5代理,https则抓不到 分析其有一个x...

Yii路径总结

如果是 // 就会默认去调 protected/views/layouts //代表 绝对路径  其实 就是 绝对和相对的关系 /代表相对路径,如module/user下的layout  用单斜杠的话默认会先找当前已经激活的模块底下的view,若当前未有激活的模块则从系统根目录下开始找,双斜杠的话就直接从系统根下开始找   Yii framework已经定...