最近使用echarts tree写了一个组件,写了固定的高,发现当展开的节点特别多的时候,节点就会重叠在一起(如下图),显示效果不好,就做了一些展示优化。

思路
一开始tree的高度是固定写死的,现在根据节点的数量高度自适应,节点就不会重叠到一起。支持滚动查看。
实现(主要代码)
<template>
<div style="overflow: auto; height: calc(80vh)">
<div id="treechart" style="height: 800px"></div>
</div>
</template>
<script setup lang="ts">
import * as echarts from "echarts";
import { ref,onmounted } from "vue";
onmounted(()=>{
let chartdom = echarts.init(document.getelementbyid("treechart"));
let option={
....
};
chartdom.setoption(option);
chartdom.on("click",function(event){
let treedom = document.getelementbyid("treechart");//获取元素
if(event.componenttype === "series"){
let nodelist = array.from(new set(chartdom._chartsviews[0]._data._graphicels));//计算节点数量
let height = 800;//默认高度
let currentheight = 30*(nodelist.length-1)||100;//动态高度
let newheight = math.max(currentheight,height);
treedom.style.height= newheight+"px";
chartdom.resize();
}
});
})
</script>
实现效果

到此这篇关于vue3使用echarts tree高度自适应支持滚动查看功能的文章就介绍到这了,更多相关vue3 echarts tree滚动查看内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论