vue2+echart 树状图节点密集,可滚动鼠标缩放, 尺寸根据节点调整
< template> < div ref= "chart" style= "width: 100%; height: 600px;" > < / div>
< / template> < script>
import * as echarts from 'echarts' ; export default { mounted ( ) { this. initChart ( ) ; } , methods: { initChart ( ) { const chart = echarts. init ( this. $refs. chart) ; const option = { series: [ { type: 'tree' , orient: "TB" , edgeShape: 'polyline' , symbolSize: 10 , layout: 'orthogonal' , roam: true, emphasis: { focus: 'descendant' } , expandAndCollapse: true, animationDuration: 550 , animationDurationUpdate: 750 , data: [ { name: '根节点' , children: [ { name: '子节点1' , children: [ { name: '子节点1' } , { name: '子节点2' } , { name: '子节点1' } , { name: '子节点2' } , { name: '子节点1' } , { name: '子节点2' } , { name: '子节点1' } , { name: '子节点2' } , { name: '子节点1' } , { name: '子节点2' } , { name: '子节点1' } , { name: '子节点2' } , { name: '子节点1' } , { name: '子节点2' } , { name: '子节点1' } , { name: '子节点2' } , { name: '子节点1' } , { name: '子节点2' } , { name: '子节点1' } , { name: '子节点2' } , { name: '子节点1' } , { name: '子节点2' } , { name: '子节点1' } , { name: '子节点2' } , { name: '子节点1' } , { name: '子节点2' } , ] } , { name: '子节点2' } ] } ] , } ] } ; chart. setOption ( option) ; chart. on ( 'click' , ( params) = > { if ( params. dataType == = 'node' ) { chart. dispatchAction ( { type: 'downplay' , seriesIndex: 0 , dataIndex: this. currentIndex} ) ; this. currentIndex = params. dataIndex; chart. dispatchAction ( { type: 'highlight' , seriesIndex: 0 , dataIndex: this. currentIndex} ) ; } } ) ; this. chart = chart; } } , beforeDestroy ( ) { if ( this. chart) { this. chart. dispose ( ) ; } }
} ;
< / script>