vue中用echarts 动态刷新数据没变化解决
作者&投稿:承典 (若有异议请与网页底部的电邮联系)
export default {
// 父组件传递过来的数据 (两种方式声明:1.数组 2.对象)
props: {
titleText: {
type:String,
default: () => {
return '2019 前三季度达标率统计'
}
}, // 图表名称
isPercentage: {
type:Boolean
}, // 是否是%
xAxisData: {
type:Array,
default: () => {
return ['兰州市', '嘉峪关市', '金昌市', '白银市', '天水市', '威武市', '庆阳市']
}
},
seriesData: {
type:Array,
default: () => {
return [100, 100, 17, 100, 100, 100, 17]
}
}
},
// 数据
data() {
return {
title:'',
options: {}
}
},
// 要用到哪些子组件
components: {},
// 计算属性
computed: {},
// 监听
watch: {
seriesData: {
handler(newName, oldName) {
if (oldName) {
this.setOptions()
}
},
immediate:true,
deep:true
}
},
// 生命周期钩子:实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用
created() {
},
// 生命周期钩子:组件实例渲染完成时调用
mounted() {
this.setOptions()
},
// 函数集,
methods: {
setOptions() {
this.options = {
title: {
text:this.titleText,
left:'center'
},
color:this.$config.chartsColor,
tooltip: {
trigger:'axis',
axisPointer: {// 坐标轴指示器,坐标轴触发有效
type:'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left:'3%',
right:'4%',
bottom:'3%',
containLabel:true
},
xAxis: [
{
type:'category',
data:this.xAxisData,
axisTick: {
alignWithLabel:true
}
}
],
yAxis: [
{
type:'value',
axisLabel: {
formatter:this.isPercentage ?'{value} %' :'{value}'
}
}
],
series: [
{
name:'直接访问',
type:'bar',
barWidth:'38%',
data:this.seriesData,
label: {
show:true,
position:'inside',
formatter: (params) => {
return `${params.value}%`
}
}
}
]
}
}
}
}
主要在watch中监听事件,发生变化时,setOptions
妫功安迪: series:function(){ var serie=[]; var aa = zhonglei[0].split(","); for( var i=0;i < aa.length;i++){ var item={ name:aa[i],data:dataArr[i] } serie.push(item); }; return serie; }()-
白水县18262861440: echarts怎么实现刻度动态变化 - ?
妫功安迪: 通过观察不难发现echarts图表的核心就是坐标轴和series序列数据,然后这两块的数据其实都是类似一个一维数组的形式.所以我们可以提炼出数组来存放图表核心数据,这里例举将series内data数据提炼出来:///这里定义一个数组对象且设置...
白水县18262861440: vue echarts有时刷新不显示,有时显示 - ?
妫功安迪: 由于手机所支持的网络是由硬件所确定的,无法通过破解软件或者升级软件系统让手机支持其他运营商的网络的.
白水县18262861440: 如何使用echarts动态获取后台数据并实时更新 - ?
妫功安迪: 可以使用Ajax+servlet去获取后台信息,拿到数据后用echarts展示就好
白水县18262861440: vue - echats - ?
妫功安迪: 没用过vue-echarts.如果是echarts的话有专门的销毁实例的方法(dispose()),可以再路由跳转前(router.beforeeach内),尝试销毁echarts对象.ECMAScript有无用存储单元收集程序,意味着不必专门销毁对象来释放内存.当再没有对对...
白水县18262861440: echarts怎么动态加载数据 - ?
妫功安迪: #define PRICE 30 main() { int num,total; num=10; total=num* PRICE; printf(“total=%d”,total); } ? 用标识符代表一个常量,称为符号常量. ? 符号常量与变量不同,它的值在其作用域内不能改变,也不能再被赋值.
白水县18262861440: vue怎样定义echarts的点击事件 - ?
妫功安迪: 不是很理解你的需求,可以明确的是echarts可以添加点击事件:chart.on('click',function(params){//dosomething});FYI.
白水县18262861440: Vue create方法调用echart的setOption,为什么echarts不会显示 - ?
妫功安迪: 需要在mounted中,因为需要dom渲染完毕才可以找到元素,所以还需要加上$nextTick(),在这个里面调用函数
白水县18262861440: echarts怎么做实时动态的折线图 - ?
妫功安迪: 1、创建折线图的数据区(包括年份和数据)2、仅选择数据区创建折线图(插入选项卡/图表工具组/折线图)3、得到的折线图x坐标不满足要求,在图表区单击鼠标右键,选择“选择数据”,进入“选择数据源”对话框4、单击对话框右侧“水平分类轴标签”下的“编辑”按钮5、选择对应x坐标轴的年份区域6、单击确定可见年份数据更改了图表的x轴坐标系列
白水县18262861440: 实现Echarts中数据的动态获取 - ?
妫功安迪: Echarts 是用javascript 展示的 要动态的的获取数据 可以用 AJAX 获取后台数据