`
ct_xiao0310
  • 浏览: 24492 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

Echarts 图表根据父DIV的宽度自适应

阅读更多

     最近在Vue项目中引入了Echarts,碰到了侧边栏折叠后Echart图标无法自适应的问题。查看了API,其中提到了下图中的方法resize。



   

       但是只绑定在窗口大小改变的事件上进行处理。可我的需求中窗口大小未改变,只是div标签的宽度自适应了,宽度改变了。在网上找了好多解决方案,基本都是使用API中的方式,个人猜想很多博客中的博主自己都没验证过。

 

         最终在这里找到了能够解决的线索,最终尝试后解决问题。具体代码如下
      

写道
// // TODO 下面代码待研究验证
let MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver
let observer = new MutationObserver((mutations, observer) => {
mutations.forEach(record => {
if (record.type) {
this.chart.resize()
}
})
})
let options = {attributeFilter: ['style']}
var target = document.querySelector('div.wrap-fluid')
observer.observe(target, options)

 

     具体该代码重点要主要截图中的两个地方

     第1点 变化的属性,这里需要自己去调试,验证来控制这段逻辑。

     第2点 需要监控的dom,可在谷歌浏览器中的F12调试模式下看看,在这个折叠过程中有哪些dom的class获取style会明细的改变。然后从这些会改变的dom中选取一个,作为监控dom。

 

      总之,以上只是提供思路,具体情况需要根据自己的实际情况去调试验证后解决自己的问题。

  

  • 大小: 110.3 KB
  • 大小: 35.4 KB
分享到:
评论

相关推荐

    web单页面实现多个echarts图表铺满整个div(柱状图,折线图,饼形图……)

    通过以上步骤,你可以在单个Web页面中实现多个ECharts图表,并使它们根据浏览器窗口大小自动调整,从而达到良好的响应式效果。在实际项目中,可以根据需求灵活调整图表配置,以满足各种数据展示需求。同时,ECharts...

    Echarts动态排名柱状图(自适应电脑和手机端)源代码

    在这个文件中,你需要引入ECharts的库文件(通常通过CDN链接或本地`js`目录下的`echarts.min.js`),并创建一个用于展示图表的`div`元素,如`<div id="main"></div>`。此外,还需要引用`css`目录下的样式文件,确保...

    完美解决vue 中多个echarts图表自适应的问题

    在Vue项目中,ECharts图表的自适应是一个常见的需求,特别是在页面中存在多个图表的情况下。以下将详细解析如何解决Vue中多个ECharts图表的自适应问题。 首先,我们需要理解ECharts图表的自适应原理。ECharts图表的...

    echarts学习笔记之图表自适应问题详解

    为了直观查看公司服务器各个进程占用的内存动态情况,我使用echarts进行数据可视化,具体的实现过程按下不表。 最后实现的效果如图: 然后问题就来了,因UI采用了Bootstrap响应式框架,所以除了图表之外其他都是...

    element后台系统点击menu左侧菜单收缩,支持窗口大小改变echarts图自适应

    这个问题的核心在于确保ECharts图表的宽度能够根据容器的变化实时调整,从而提供良好的用户体验。在给定的文件中,通过使用`element-resize-detector`库和Vue指令,我们可以解决这个问题。 首先,我们需要安装`...

    vue终极解决多个页面Echart随页面窗口大小而改变图形大小方法

    这种方法确保了每个ECharts图表无论在哪个页面上,都能根据其容器元素的尺寸进行精确的自适应调整。 总之,解决多个ECharts图表在不同页面上随窗口大小变化而动态调整的问题,关键在于使用`element-resize-detector...

    vue中echarts图表大小适应窗口大小且不需要刷新案例

    在Vue项目中,当页面布局变化,特别是涉及到宽度变化时,如左侧导航菜单的展开与收缩,可能会导致使用echarts图表大小不适应新的窗口尺寸,使得图表显示不全或失真。这通常需要图表能够响应窗口大小的变化,进行...

    echart柱状图拼接table,每列对齐,并自适应的问题的代码

    开发者可以通过查看和学习这些文件,更好地理解如何将ECharts图表与表格拼接,以及处理自适应布局的问题。 总的来说,ECharts与HTML表格的结合使用,可以为用户提供直观的数据展示,同时,通过合理的CSS布局,可以...

    graph_demo:echarts图表引擎

    **ECharts图表引擎详解** ECharts是一款由百度开发的,基于JavaScript的数据可视化库,它具有丰富的图表类型,精美的图表效果以及便捷的交互功能。在`graph_demo`这个项目中,我们可以看到ECharts如何用于创建各种...

    vue+echarts完整显示x轴的示例以及完整案例.zip

    这通常是由于数据量过多或者X轴区域宽度有限导致的。`vue+echarts`结合使用时,同样可能遇到此类问题。本示例提供了一个完整的解决方案,包括代码示例和效果对比图,以帮助开发者解决这个问题。 首先,我们来看`x轴...

    vue实现多个echarts根据屏幕大小变化而变化实例

    该组件负责渲染ECharts图表,并提供了一个公共接口以便根据父组件传入的数据动态更新图表。 组件的`<template>`部分包含了一个用于挂载ECharts图表的`div`容器,并通过`ref`属性给该容器一个引用名称`charts`。这样...

    报表技术-图形报表-Echarts(含代码、文档).zip

    四、ECharts图表类型及配置项 1. 折线图(line):配置项包括数据、颜色、平滑度等。 2. 柱状图(bar):可设置横轴、纵轴数据,柱体宽度、颜色等。 3. 饼图(pie):支持环形图,配置项包括数据、颜色、标签等。 4...

    【JavaScript源代码】vue使用echarts画组织结构图.docx

    这段代码定义了一个Vue组件`tree.vue`,它接收必要的属性(如类名、宽度、高度和图表数据),并在`mounted`生命周期钩子中初始化ECharts实例。同时,它还监听窗口大小变化和侧边栏状态,以确保图表自适应屏幕尺寸。 ...

    在vue中实现echarts随窗体变化

    首先,我们可以在Vue组件的模板部分定义一个`div`元素,用于承载ECharts图表,并通过`:style`指令设置其宽度和高度。例如: ```html <div id="myChart" :style="{width: '100%', height: '345px'}"></div> ``` ...

    div控制条形图下面指针的指定位置

    在IT行业中,尤其是在数据可视化和前端开发领域,创建交互式图表是常见的需求。"div控制条形图下面指针的指定位置"这个话题涉及到如何利用HTML的div元素以及JavaScript技术来实现一个条形图,并精确控制其中的指针在...

    VUE 单页面使用 echart 窗口变化时的用法

    为了确保ECharts图表在不同屏幕大小和布局模式下都能自适应,通常会在组件的 `mounted` 钩子中初始化图表,并设置其容器的宽度和高度为百分比值,这样图表就会根据容器的实际大小自动调整。例如: ```html <div ...

    airport.zip

    1. 媒体查询(Media Queries):利用CSS3的媒体查询,根据屏幕宽度、高度等特性应用不同的样式。 2. 液态布局(Liquid Layout):让页面元素按比例缩放,适应不同分辨率。 3. Flexbox或Grid布局:这两种现代CSS布局...

    Vue解决echart在element的tab切换时显示不正确问题

    最近在项目中遇到了这种情况,需要在tab控件上渲染多个echart图标,然后切换查看时,发现图表的宽度不正确 原因:在页面进行加载时,隐藏的图表找不到对应的div大小,所以默认给了一个大小。所以要做的就是在页面...

Global site tag (gtag.js) - Google Analytics