溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序中Echarts覆蓋正常組件怎么解決

發(fā)布時間:2022-04-12 16:50:57 來源:億速云 閱讀:357 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“微信小程序中Echarts覆蓋正常組件怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“微信小程序中Echarts覆蓋正常組件怎么解決”吧!

最近公司的項目中需要在小程序內(nèi)使用echarts組件來展示數(shù)據(jù),同時因為使用了自定義導(dǎo)航欄以及蒙版層,導(dǎo)致Echarts圖形覆蓋于所有組件的上方,不符合設(shè)計要求。       

嘗試解決的思路:       

z-index:Echarts使用的是微信原生canvas,優(yōu)先級高,z-index完全無效。       

cover-view:因為page中含有一些如input之類的無法與cover-view進(jìn)行嵌套使用的元素,故cover-view也無法奏效。

微信小程序中Echarts覆蓋正常組件怎么解決

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

微信小程序中Echarts覆蓋正常組件怎么解決

wxml中

微信小程序中Echarts覆蓋正常組件怎么解決

js中

微信小程序中Echarts覆蓋正常組件怎么解決

這個過程中還是存在著一些問題,例如如果畫圖較慢會導(dǎo)致生成的圖片只有一部分?jǐn)?shù)據(jù)甚至是全透明的,目前只找到了一個并不完善的解決方案,就是使用setTimeOut來增加一些延遲,等待畫圖結(jié)束,因此,加上了wx.showLoading來過渡,但依然存在一些隱患。

到此,相信大家對“微信小程序中Echarts覆蓋正常組件怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI