87,910
社区成员
发帖
与我相关
我的任务
分享
<template>
<ve-ring :data="chartData" :extend="chartExtend"></ve-ring>
</template>
<script>
export default {
data () {
this.chartExtend ={
series:{
radius: ['50%', '70%'],
label:{
normal: {
show: false,
formatter:"{d}%",
position: 'center'
},
emphasis:{
show: true,
textStyle: {
fontSize: '30',
fontWeight: 'bold'
}
}
}
},
legend:{
data:[],
},
color:['#3399FF', '#B8B8B8'],
}
return {
chartData: {
columns: ['状态', '完成量'],
rows: [
{ '状态': '已完成', '完成量': 80 },
{ '状态': '未完成', '完成量': 20 },
]
}
}
}
}
</script>
mounted() {
this.$nextTick(() => {
chart = this.$refs['chart_ring'].echarts;
setTimeout(function () {
chart.dispatchAction({
type: 'highlight',
// 可选,系列 index,可以是一个数组指定多个系列
seriesIndex: 0,
dataIndex: 0
});
chart.selected = 0;//记录选中的项目
}, 0);
//鼠标放置时高亮,移开后取消高亮
chart.on('mouseover', function (params) {
var options = this.getOption();
var data = options.series[params.seriesIndex].data;
for (var i = 0; i < data.length; i++) {
if (i !== params.dataIndex) {
this.dispatchAction({
type: 'downplay',
dataIndex: i
});
}
}
});
//鼠标单击时选中
chart.on('click', function (params) {
chart.dispatchAction({
type: 'highlight',
// 可选,系列 index,可以是一个数组指定多个系列
seriesIndex: 0,
dataIndex: params.dataIndex
});
this.selected = params.dataIndex;//选中的项目
});
//当鼠标移出时恢复默认或者单击选中的项目
chart.on('mouseout', function (params) {
this.dispatchAction({
type: 'highlight',
dataIndex: this.selected
});
});
});
}
chartData: {
columns: ['状态', '完成量'],
rows: [
{ '状态': '已完成', '完成量': 80 },
{ '状态': '未完成', '完成量': 20 },
]
}
改为chartData(number) {
return {
columns: ["状态", "完成量"],
rows: [
{ 状态: "已完成", 完成量: number },
{ 状态: "未完成", 完成量: 100 - number }
]
};
},
v-for循环输入不同的number值,环图能刷出来,this.$refs['chart_ring'].echarts只对最后一环图起作用?
<ve-ring :data="chartData(number)" :extend="chartExtend" ref="chart_ring"></ve-ring>
mounted() {
this.$nextTick(() => {
chart = this.$refs['chart_ring'].echarts;
setTimeout(function () {
chart.dispatchAction({
type: 'highlight',
// 可选,系列 index,可以是一个数组指定多个系列
seriesIndex: 0,
dataIndex: 0
});
}, 0);
//鼠标放置时高亮,移开后取消高亮
chart.on('mouseover', function (params) {
var options = this.getOption();
var data = options.series[params.seriesIndex].data;
for (var i = 0; i < data.length; i++) {
if (i !== params.dataIndex) {
this.dispatchAction({
type: 'downplay',
dataIndex: i
});
}
}
});
//鼠标单击时选中
chart.on('click', function (params) {
chart.dispatchAction({
type: 'highlight',
// 可选,系列 index,可以是一个数组指定多个系列
seriesIndex: 0,
dataIndex: params.dataIndex
});
});
});
}
<div id="app3">
<ve-ring :data="chartData" :extend="chartExtend" ref="chart_ring"></ve-ring>
</div>
mounted() {
this.$nextTick(() => {
chart = this.$refs['chart_ring'].echarts;
setTimeout(function () {
chart.dispatchAction({
type: 'highlight',
// 可选,系列 index,可以是一个数组指定多个系列
seriesIndex: 0,
dataIndex: 0
});
}, 0);
});
}