在项目中使用了 vue-echarts 虽然提供了 autoresize 用来自适应 但有时侯我们的窗体根本不会改变大小,当我们打开侧边栏时,我们的 DOM 已经发生了大小变化,这个时候无法响应式的做出变化。
在现在的开发环境中往往需要自适应,但 Echarts 恰恰要我们设置一个宽高,这是非常不方便的
我们要实现的需求
- 自适应大小
- 保持宽高比
- 无需精确设置大小
实现
我们使用内边距来实现 宽高比例保持不变.
通过监听 object 元素中 window 的 resize 事件来触发 echarts 的 resize 事件.
这里使用的是 vue-echarts 所以还要改变 x-vue-echarts 的样式 才能使 echarts 得到确切的大小尺寸.
1 | <style lang="scss"> |