Vue3使用echarts tree高度自適應(yīng)支持滾動(dòng)查看功能
最近使用echarts tree寫(xiě)了一個(gè)組件,寫(xiě)了固定的高,發(fā)現(xiàn)當(dāng)展開(kāi)的節(jié)點(diǎn)特別多的時(shí)候,節(jié)點(diǎn)就會(huì)重疊在一起(如下圖),顯示效果不好,就做了一些展示優(yōu)化。

思路
一開(kāi)始tree的高度是固定寫(xiě)死的,現(xiàn)在根據(jù)節(jié)點(diǎn)的數(shù)量高度自適應(yīng),節(jié)點(diǎn)就不會(huì)重疊到一起。支持滾動(dòng)查看。
實(shí)現(xiàn)(主要代碼)
<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));//計(jì)算節(jié)點(diǎn)數(shù)量
let height = 800;//默認(rèn)高度
let currentHeight = 30*(nodeList.length-1)||100;//動(dòng)態(tài)高度
let newHeight = Math.max(currentHeight,height);
treeDom.style.height= newHeight+"px";
chartDom.resize();
}
});
})
</script>
實(shí)現(xiàn)效果

到此這篇關(guān)于Vue3使用echarts tree高度自適應(yīng)支持滾動(dòng)查看功能的文章就介紹到這了,更多相關(guān)Vue3 echarts tree滾動(dòng)查看內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue 設(shè)置 input 為不可以編輯的實(shí)現(xiàn)方法
今天小編就為大家分享一篇vue 設(shè)置 input 為不可以編輯的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
vue將單頁(yè)面改造成多頁(yè)面應(yīng)用的方法
最近領(lǐng)導(dǎo)交我一個(gè)項(xiàng)目是使用 vue-cli 搭建的單頁(yè)面應(yīng)用。下面小編通過(guò)本文給大家介紹vue將單頁(yè)面改造成多頁(yè)面應(yīng)用的方法 ,感興趣的朋友一起看看吧2018-11-11
Vue props 單向數(shù)據(jù)流的實(shí)現(xiàn)
這篇文章主要介紹了Vue props 單向數(shù)據(jù)流的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
typescript+vite項(xiàng)目配置別名的方法實(shí)現(xiàn)
我們?yōu)榱耸÷匀唛L(zhǎng)的路徑,經(jīng)常喜歡配置路徑別名,本文主要介紹了typescript+vite項(xiàng)目配置別名的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
vue實(shí)現(xiàn)對(duì)highlight-current-row方式整行選中后修改默認(rèn)背景顏色
這篇文章主要介紹了vue實(shí)現(xiàn)對(duì)highlight-current-row方式整行選中后修改默認(rèn)背景顏色方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
Vue3中子組件改變父組件傳過(guò)來(lái)的值(props)的方法小結(jié)
在 Vue 3 中,子組件改變父組件傳過(guò)來(lái)的值(props)的方法主要有以下幾種:通過(guò)事件發(fā)射、使用 v-model、模擬 .sync 修飾符的功能(Vue 3 中已移除),以及使用 ref 或 reactive,下面我將結(jié)合代碼示例和使用場(chǎng)景詳細(xì)講解這些方法,需要的朋友可以參考下2025-04-04

