vue中echarts3.0自適應的方法
前端時間做一個vue的項目,echart是按需引入的如下:
// 引入 ECharts 主模塊 import echarts from 'echarts/lib/echarts' // 引入折線圖 import 'echarts/lib/chart/line' // 引入提示框和圖例組件 import 'echarts/lib/component/tooltip' import 'echarts/lib/component/legendScroll'
然后發(fā)現(xiàn)在縮放瀏覽器窗口時折線圖并不會自適應,費了好一會才解決,記錄下來給需要的小伙伴,
第一種:瀏覽器自適應
通過:
在myChart.setOption后添加
window.onresize = myChart.resize;
如果有多個圖形,可以封裝成方法:
mounted(){
this.changEcharts();
},
methods:{
changEcharts() {
window.addEventListener('resize', ()=> {
this.drawLineDom.resize();
this.todayFlowDom.resize();
this.hitRateDom.resize();});};},}
this.drawLineDom = this.$echarts.init(document.getElementById('chart-bandwidth'));
第二種情況,根據(jù)div大小的變化進行自適應
因為vue不能實時監(jiān)測div大小變化的,所以我定義了一個按鍵,當按鍵的值變化的時候,進行resize;
import { mapState }from'vuex';
computed: mapState({isCollapse:'isCollapse',//這里我是語用的vuex保存的變量,可以不用vuex,我是因為組件之間的通訊}),
watch: {
isCollapse() { // 注意一定不要用箭頭函數(shù),會獲取不到this
setTimeout(() => {
this.drawLineDom.resize();
this.todayFlowDom.resize();
this.hitRateDom.resize();
}, 500);},},
其實我用這個是在導航進行伸縮的時候,導致div大小發(fā)生了變化,所以這樣執(zhí)行reszie,就能完美的自適應
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
vue 解決uglifyjs-webpack-plugin打包出現(xiàn)報錯的問題
這篇文章主要介紹了vue 解決uglifyjs-webpack-plugin打包出現(xiàn)報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
vue-cli3使用postcss-plugin-px2rem方式
這篇文章主要介紹了vue-cli3使用postcss-plugin-px2rem方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
使用Vue Router進行路由組件傳參的實現(xiàn)方式
Vue Router 為 Vue.js 應用提供了完整的路由解決方案,其中包括了組件間的數(shù)據(jù)傳遞功能,通過路由組件傳參,我們可以輕松地在導航到新頁面時傳遞必要的數(shù)據(jù),本文將深入探討如何使用 Vue Router 進行路由組件間的傳參,并通過多個示例來展示其實現(xiàn)方式2024-09-09
element-plus的el-table自定義表頭篩選查詢功能實現(xiàn)
這篇文章主要介紹了element-plus的el-table自定義表頭篩選查詢功能實現(xiàn),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-07-07
vue render函數(shù)動態(tài)加載img的src路徑操作
這篇文章主要介紹了vue render函數(shù)動態(tài)加載img的src路徑操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10

