账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    React加载样式导致echarts宽度计算错误?
    28
    0
    1. 有如下react组件:
    import "./Home.scss";
    
    class Home extends React.Component{
        render(){
            return (
                <div className="box clearfix">
                    <div className="left">
                        <Echart style={{width: '100%', height: 300}} .../>
                    </div>
                    <div className="right">
                        <Echart style={{width: '100%', height: 300}} .../>
                    </div>
                </div>
            );
        }
    }

    .left.right各占50%,但是渲染时Echarts的宽度确是100%,如果我把样式写在行内,就不会有问题

    //Home.scss
    .box{
        .left, .right{
            width: '50%';
            float: left;
        }
    }

    所以感觉应该是渲染Echarts时样式并未加载进来,所以刚开始left和right宽度都是100%,这个改怎么解决?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 大叔还行 普通会员 1楼

      在React中,当你使用React组件渲染一个ECharts图表时,ECharts可能会自动将样式应用于图表本身,而不是将其应用于图表的DOM元素。这可能导致ECharts的宽度计算错误。

      为了解决这个问题,你可以在CSS中为图表设置一个宽度。以下是一个简单的例子:

      ```jsx import React from 'react'; import echarts from 'echarts';

      class MyChart extends React.Component { render() { return (

      this.echartsRef = ref} width={1000} height={500}> {/ 在这里放你的图表内容 /}
      ); } }

      export default MyChart; ```

      在这个例子中,我们设置了ECharts的宽度为1000px。这样,ECharts的宽度就会被应用到图表的DOM元素上,而不是将其应用于图表本身。

      注意,你需要在React组件的render方法中调用this.echartsRef来获取ECharts的DOM元素。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部