React|Echarts|Antd|在Modal中展示echarts不显示的问题

打开modal时echarts部分空白:

解决方法:使用ref绑定div,dom存在时再draw

javascript 复制代码
           <div
              id="quintuple"
              style={{
                width: "450px",
                height: "350px",
              }}
              ref={modalRef}
            />

  const modalRef = (obj) => {
    if (obj) {
      drawChart(obj, [
        {
          value: [
            info.question || 10,
            info.theoretical_method || 10,
            info.practical_method || 10,
            info.effects || 10,
            info.conclusion || 10,
          ],
        },
      ]);
    }
  };

function drawChart(dom, data) {
  let myChart = echarts.getInstanceByDom(dom); //有的话就获取已有echarts实例的DOM节点。
  if (myChart == null) {
    // 如果不存在,就进行初始化。
    myChart = echarts.init(dom);
  }
  //此处省略数据处理过程
  let option = {
    angleAxis: {
      startAngle: 0,
    },
    radiusAxis: {
      type: "value",
      min: 0,
      max: 100,
      z: 1,
    },
    polar: {
      radius: 100,
    },
    radar: {
      shape: "circle",
      radius: 100,
      color: "black",
      indicator: [
        {
          name: "Problem",
          max: 100,
        },
        {
          name: "Theoretical Method",
          max: 100,
        },
        {
          name: "Practical Method",
          max: 100,
        },
        {
          name: "Effects",
          max: 100,
        },
        {
          name: "Conclusion",
          max: 100,
        },
      ],
      axisName: {
        color: "black",
      },
      axisNameGap: 20,
    },
    series: [
      {
        // name: "Five-dimensional analysis",
        type: "radar",
        data: data,
        areaStyle: {
          color: "#0068c9",
          opacity: 0.2,
        },
        label: {
          show: true,
        },
      },
    ],
  };
  option && myChart.setOption(option);
}
相关推荐
李瑞丰_liruifengv7 分钟前
使用 Claude Agent SDK 写一个 DeepResearch Agent
javascript·aigc·agent
江公望19 分钟前
VUE3 动态Prop 10分钟讲清楚
前端·javascript·vue.js
不会写DN19 分钟前
JavaScript call、apply、bind 方法解析
开发语言·前端·javascript·node.js
如果你好29 分钟前
理解 Proxy 原理及如何拦截 Map、Set 等集合方法调用实现自定义拦截和日志——含示例代码解析
javascript
czhc114007566338 分钟前
c# winform1212
java·javascript·c#
一锤捌拾39 分钟前
漫谈 JS 解析与作用域锁定
javascript
syt_10131 小时前
grid布局-子项放置3
前端·javascript·css
Gomiko1 小时前
JavaScript进阶(三):DOM事件
开发语言·javascript·ecmascript
丫丫7237341 小时前
相机动画总结-相机直线运动动画、相机圆周运动动画
javascript·webgl
哆啦A梦15881 小时前
商城后台管理系统 06,编辑商品
javascript·vue.js·elementui