v-echart中环形图中间添加文字

45 篇文章 2 订阅

这里我将一个环形图做成了一个组件
在这里插入图片描述

需要父组件传入要显示的数据 和 环形图中间的文字
有时候环形图中间的文字一直没有办法显示需要注意

  1. 需要将v-echarts全部引入,部分引入时会有问题,暂时不知道如何解决,就全部引入了
  2. 考虑v-echart异步加载问题,在数据加载完成之后再去渲染组件,推荐使用v-if控制子组件的显示,数据加载完成之后再进行显示。
<template>
  <div>
    <ve-ring
      :data="chartData"
      :settings="chartSettings"
      :extend="chartExtend"
      width="293"
    >
    </ve-ring>
  </div>
</template>

<script>
export default {
  props: {
    getLoading: Boolean,
    getData: Array,
    centerText: String,
  },
  data() {
    this.chartExtend = {
      legend: { show: false }, //隐藏legend
      series: {
        center: ["50%", "50%"],
      },
      color: ["#F6695E", "#E3E3E3"],
      graphic: [ //为环形图中间添加文字
        {
          type: "text",
          left: "center",
          top: "45%",
          style: {
            text: this.centerText,
            textAlign: "center",
            fill: "#000",
            fontSize: 28,
          },
        },
        {
          type: "text",
          left: "center",
          top: "55%",
          style: {
            text: "逾期率",
            textAlign: "center",
            fill: "#999999",
            fontSize: 16,
          },
        },
      ],
    };
    return {
      chartSettings: {
        radius: ["60px", "80px"],
        label: { //对标签中 显示的文字进行设置
          formatter: (params) => {
            if (params.dataIndex === 0) {
              return `{a| ${params.data.name}}`;
            } else {
              return `{b| ${params.data.name}}`;
            }
          },
          rich: {
            a: {
              color: "#438de7",
            },
            b: {
              color: "#7b7d86",
            },
          },
        },
      },
    };
  },
  computed: {
    chartData() { //环形图的数据
      return {
        columns: ["status", "num"],
        rows: this.getData,
      };
    },
  },
};
</script>

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值