1. 程式人生 > >解決Echarts圖表在div動態切換時不顯示的問題

解決Echarts圖表在div動態切換時不顯示的問題

簡單粗暴,先上圖,大概長這樣:

這裡寫圖片描述

在使用vue時有遇到像上圖下拉框change事件切換div,change切完後大概會變成這個樣子:

這裡寫圖片描述

上程式碼:

<div class="test">
    <p class="title">
        <select v-model="selected" v-on:change="change">
          <option v-for="option in options" v-bind:value="option.value">
            {{ option.text
}}
</option> </select> </p> <span>{{selected}}</span> <div id="timesharechart" v-show="isvisible" ></div> <div id="receiveDispose" v-show="!isvisible"></div> </div> <script> export default{ name:"test"
, data(){ return { selected: 'timeshare', options: [ { text: '分時警情', value: 'timeshare' }, { text: '接警與處置', value: 'receive' } ], isvisible:true } }, methods:{ change:function
(){
if(this.selected == "receive"){ this.isvisible = false; }else{ this.isvisible = true; } },
</script>

這裡時我們為了確定當前顯示的是哪個block,所以在data中引入了“selected”,方便其他操作,其實完全可以採用change事件和v-if指令來判斷 true和false的方法來切換block。

code:

change:function(){
                if(this.isvisible == true){
                    this.isvisible = false;
                }else{
                    this.isvisible = true;
                }
            }

這樣就變成了true, false。

那麼問題來了:以上解決了change事件對div圖表容器的切換顯示內容,但是問題是切換後不顯示圖表,控制檯報錯:“Can’t get dom width or height”,檢查了遍div容器是設定了大小的,上網一查才知道是因為echarts只能在顯示的容器中渲染,解決辦法:在容器切換之後再渲染圖表,也就是在觸發切換的事件中操作echarts初始化,我是這麼解決的,在呼叫echart.init之前,給圖形dom加上對應的寬度和高度。

drawCharts(){
     // 基於準備好的dom,初始化echarts例項,dom容器中需要在呼叫echart.init之前,必須給圖形dom加上對應的寬度和高度,不然echarts不能渲染
     document.getElementById("container").style.display = "block";
     let myChart = this.$echarts.init(document.getElementById('container'));
                // 繪製圖表
                receiveChart.setOption({});
   }

其他tab,button等切換方式如出一轍。

相關推薦

解決Echarts圖表div動態切換顯示的問題

簡單粗暴,先上圖,大概長這樣: 在使用vue時有遇到像上圖下拉框change事件切換div,change切完後大概會變成這個樣子: 上程式碼: <div class="test"> <p class="title"&g

解決win10系統alt+tab切換程式顯示程式縮圖問題

描述:win10系統alt+tab切換時候變成了以前小圖示模式,本來應該是顯示程式縮圖的。 解決: 1、開啟登錄檔,定位到 HKEY_CURRENT_USER\Software\Microsoft\W

解決微信小程式的wx-charts外掛tab切換顯示會出現位置移動問題-tab切換圖表顯示錯亂-實現滑動tab

解決Echarts在微信小程式tab切換時的顯示會出現位置移動問題 我的js var dateTimePicker = require('../../utils/dateTimePicker.js'); var wxCharts = require('../../utils/wx

解決Everything1.4版本預覽支持自定義後綴的問題

cnblogs 點擊 原因 con 目錄 不知道 window image arch 2017年6月Everything版本升級到了1.4.x 個人使用下來認為最主要的有以下幾點 添加預覽功能 搜索結果多選 點擊目錄列即打開文件所在目錄,點擊其他列則打開該文件

Fcitx輸入中文顯示候選詞框的解決辦法

code rem 不顯示 module log highlight true sudo bash 在非KDE桌面環境下,如果安裝了fcitx-module-kimpanel,可能會導致Fcitx輸入中文時不顯示候選詞框,移除該組件,然後重啟Fcixt。 $ sudo ap

解決GitHub提交顯示自己的頭像 顯示另一個賬號(其實也是自己)

1.  git show  看看是否是自己的githup 賬號的郵箱  如果不是進行下列操作 2.  git config user.email "你的郵箱地址",修改郵箱 3   修改完以後輸入git config user.email 檢查是

百度ECharts圖表展示動態資料

百度ECharts是個非常強大的圖表工具,引入百度提供的echarts.min.js檔案後,只需從後臺獲取資料便可以圖表的形式展示資料,能夠更直觀的檢視、比較、統計資料。 這裡以一個柱狀圖展示動態資料的小例子講解如何使用百度ECharts。 1.首先引入需要的js檔案: <

BottomNavigationView去除動畫,大於3項顯示文字的最新解決方案

背景 今天在用 BottomNavigationView實現底部導航欄時出現了個小問題,效果如下: 當使用BottomNavigationView選單項多於3個時,去除動畫效果,顯示選單項文字。 初級方案 在網上看到解決方案是這樣: /** * 建立時間:2

讓多個Fragment 切換重新例項化

在專案中需要進行Fragment的切換,一直都是用replace()方法來替換Fragment: 1 2 3 4 5 6 7 8 9 public void s

NestedScrollView內巢狀RecyclerView,開啟頁面顯示在頂部的解決方法

由於新需求要求:個人資訊頁面最頂部要增加兩條姓氏全拼,姓名全拼,需求文件如下: 之前佈局用的是NestedScrollView內嵌RecyclerView,RecyclerView位於子佈局的第一個,顯示效果上沒有什麼問題。xml佈局如下: <?xml vers

Echarts圖表座標軸動態展示兩個時間點之間的時間

Echarts圖表座標軸動態展示兩個時間點之間的時間 初始折線圖樣式 以下是配置項設定: option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', '

解決echarts柱形圖X軸標題顯示全的問題

如果柱形圖x軸的資訊太長會出現顯示不全或者資訊重疊在一起通過增加以下程式碼:grid: {     y2: 150 //增加柱形圖縱向的高度 }, xAxis : [ {     type : 'category',     data : label,     axis

解決Android7.0 更新安裝包能自動安裝問題

專案中發現在自動更新功能的時候,下載好了apk的檔案後在android7.0系統中不能自動跳到安裝介面,後來搜尋了一番解決了問題,但感覺沒有描述清楚,所以補充一下。 每個Android版本的釋出,對於安全性問題的要求越來越高,也為Android程式設計師增加了額外的工作量。Android6.0引入動態許可權控

【iOS開發】UIWebView載入html顯示網路圖片解決辦法

NSString *html = @"<html><body><p>怎麼顯示網路圖片 <img src=\"http://p0.ifengimg.com/pmop/2017/1218/F9636BB16CC72EC34B5FCB78

用plsql developer登入顯示已經建立過的資料庫的解決方案

剛開始接觸Oracle,安裝時出現了這個問題,就是用plsql developer登入時不顯示已經建立過的資料庫,然後在E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora檔案下,末尾

Android 讓多個Fragment 切換重新例項化

原文: http://www.yrom.net/blog/2013/03/10/fragment-switch-not-restart/# 在專案中需要進行Fragment的切換,一直都是用replace()方法來替換Fragment: public void switc

在ios7及以上系統中在UINavigationBar中新增UITextField或者UISearchbar顯示輸入光桿問題及解決

- (void)initSearchBar{ _textSearch = [[UISearchTextFiled alloc] initWithFrame:CGRectMake(0, 7, ScreenWidth - 50, 30)]; _textSearc

XCODE除錯顯示變數值/指標地址的解決方案

被這屌問題折騰了好久,需要關注以下幾項設定: 1.Scheme中run裡面確保設成debug 2.build settings-搜尋optim,確保是-O0 3.build settings-搜尋-O2,改成-g。這項最坑爹,好像是預設的設定成-O2的

解決dialog在橫豎屏切換消失

 以AlertDialog為例    一、將AlertDialog檢視封裝在dialogfragment(fragmentdeAlertDialog子類)例項中     package com.example.t;     import android.app.Ale

Dialog上的List Control獲得焦點,視窗切換顯示

發表於:2007-07-20 11:45:38 使用環境和現象都跟http://topic.csdn.net/t/20010509/15/115868.html描述的一樣。那裡只是說“有時”會出現這種情況,我這裡試驗的結果是:如果List   Control沒有獲得焦點,一