這篇文章將為大家詳細(xì)講解有關(guān)微信小程序中Echarts覆蓋正常組件的解決方法,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
西雙版納網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
最近公司的項(xiàng)目中需要在小程序內(nèi)使用echarts組件來展示數(shù)據(jù),同時因?yàn)槭褂昧俗远x導(dǎo)航欄以及蒙版層,導(dǎo)致Echarts圖形覆蓋于所有組件的上方,不符合設(shè)計要求。
嘗試解決的思路:
z-index:Echarts使用的是微信原生canvas,優(yōu)先級高,z-index完全無效。
cover-view:因?yàn)閜age中含有一些如input之類的無法與cover-view進(jìn)行嵌套使用的元素,故cover-view也無法奏效。
wx.canvasToTempFilePath:wx.canvasToTempFilePath官方文檔
思路是等待畫圖完成之后利用這個方法將畫布導(dǎo)出成圖片,來代替canvas進(jìn)行數(shù)據(jù)展示,使用display來控制canvas的隱藏會出現(xiàn)一些不太好看的閃爍,因此使用position:absolute將canvas預(yù)先移動至屏幕外。
該方法需要在draw()回調(diào)方法中使用,部分代碼如下:
ec-canvas.js
wxml中
js中
這個過程中還是存在著一些問題,例如如果畫圖較慢會導(dǎo)致生成的圖片只有一部分?jǐn)?shù)據(jù)甚至是全透明的,目前只找到了一個并不完善的解決方案,就是使用setTimeOut來增加一些延遲,等待畫圖結(jié)束,因此,加上了wx.showLoading來過渡,但依然存在一些隱患。希望官方可以后續(xù)的更新中可以推出一些較為完善的方案。
關(guān)于“微信小程序中Echarts覆蓋正常組件的解決方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。