vue+ts+echarts绘制图表失败

这里写自定义目录标题

vue+ts+echarts绘制柱形图失败

问题描述是显示不出来任何信息,包括表头什么的
很多人说是版本问题,我换过了,并不是。
然后通过debug发现,我的option根本没有获取到,或许该换种方式写

(this as any).chartLine = (this as any). e c h a r t s . i n i t ( t h i s . echarts.init(this. echarts.init(this.refs.chartLineBox as HTMLDivElement);

    // 使用刚指定的配置项和数据显示图表。
    (this as any).chartLine.setOption({
        title: {
            text: 'Biu~简单柱状图示例'
        },
        tooltip: {},
        legend: {
            data:['销量']
        },
        xAxis: {
            data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
        },
        yAxis: {},
        series: [{
            name: '销量',
            type: 'bar',
            data: [5, 20, 36, 10, 10, 20]
        }],
        color: ['#66FF99']
    });

下面是错误代码

// 指定图表的配置项和数据
       
       option: {
            title: {
                text: 'Biu~简单柱状图示例'
            },
            tooltip: {},
            legend: {
                data:['销量']
            },
            xAxis: {
                data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }],
            color: ['#66FF99']
        } | undefined
 
      mounted(){
          console.log(this.$refs.chartLineBox);
          debugger
        (this as any).chartLine = (this as any).$echarts.init(this.$refs.chartLineBox as HTMLDivElement);

        // 使用刚指定的配置项和数据显示图表。
        (this as any).chartLine.setOption((this as any).option);
    }

在获取的时候option显示是undefined,我确实是个傻子,:并不能赋值,那是指明属性类型的,要用=赋值才能成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Vue3 + TypeScript 中画 Echarts 环形图表,可以按照以下步骤进行: 1. 安装 EchartsVue-Echarts: ``` npm install echarts vue-echarts@5.0.0-beta.5 ``` 2. 在需要使用的组件中引入 EchartsVue-Echarts: ```typescript import { defineComponent, onMounted, ref } from 'vue' import * as echarts from 'echarts' import { use } from 'echarts/core' import { CanvasRenderer } from 'echarts/renderers' import { PieChart } from 'echarts/charts' import { LegendComponent, TooltipComponent } from 'echarts/components' import VueECharts from 'vue-echarts' use([CanvasRenderer, PieChart, LegendComponent, TooltipComponent]) export default defineComponent({ components: { VueECharts }, setup() { const chartRef = ref(null) const chart = ref<echarts.ECharts | null>(null) const options: echarts.EChartsOption = { title: { text: '环形图示例' }, tooltip: { trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)' }, legend: { orient: 'vertical', left: 10, data: ['数据1', '数据2', '数据3', '数据4', '数据5'] }, series: [ { name: '访问来源', type: 'pie', radius: ['50%', '70%'], avoidLabelOverlap: false, label: { show: false, position: 'center' }, emphasis: { label: { show: true, fontSize: '30', fontWeight: 'bold' } }, labelLine: { show: false }, data: [ { value: 335, name: '数据1' }, { value: 310, name: '数据2' }, { value: 234, name: '数据3' }, { value: 135, name: '数据4' }, { value: 1548, name: '数据5' } ] } ] } onMounted(() => { if (chartRef.value) { chart.value = echarts.init(chartRef.value) chart.value.setOption(options) } }) return { chartRef, chart } } }) ``` 3. 在组件的模板中使用 Vue-Echarts 组件,并传入需要渲染的数据和 Echarts 实例: ```vue <template> <div> <vue-echarts :options="options" :auto-resize="true" :renderer="'canvas'" :chart="chartRef"></vue-echarts> </div> </template> ``` 这样就可以在 Vue3 + TypeScript 中画出一个简单的 Echarts 环形图表了。注意,在 setup 函数中,需要使用 `ref` 函数将 `chart` 和 `chartRef` 定义为响应式数据,并在 `onMounted` 钩子函数中初始化 Echarts 实例并设置选项。在模板中,需要将 `chartRef` 作为 `VueECharts` 组件的 `chart` 属性传入。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值