微信小程序Echarts覆盖正常组件问题解决


Posted in Javascript onJuly 13, 2019

最近公司的项目中需要在小程序内使用echarts组件来展示数据,同时因为使用了自定义导航栏以及蒙版层,导致Echarts图形覆盖于所有组件的上方,不符合设计要求。       

尝试解决的思路:       

z-index:Echarts使用的是微信原生canvas,优先级高,z-index完全无效。       

cover-view:因为page中含有一些如input之类的无法与cover-view进行嵌套使用的元素,故cover-view也无法奏效。

微信小程序Echarts覆盖正常组件问题解决

wx.canvasToTempFilePath:wx.canvasToTempFilePath官方文档       

思路是等待画图完成之后利用这个方法将画布导出成图片,来代替canvas进行数据展示,使用display来控制canvas的隐藏会出现一些不太好看的闪烁,因此使用position:absolute将canvas预先移动至屏幕外。       

该方法需要在draw()回调方法中使用,部分代码如下:

ec-canvas.js

微信小程序Echarts覆盖正常组件问题解决

wxml中

微信小程序Echarts覆盖正常组件问题解决

js中

微信小程序Echarts覆盖正常组件问题解决

这个过程中还是存在着一些问题,例如如果画图较慢会导致生成的图片只有一部分数据甚至是全透明的,目前只找到了一个并不完善的解决方案,就是使用setTimeOut来增加一些延迟,等待画图结束,因此,加上了wx.showLoading来过渡,但依然存在一些隐患。希望官方可以后续的更新中可以推出一些较为完善的方案。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
插件:检测javascript的内存泄漏
Mar 04 Javascript
js对象与打印对象分析比较
Apr 23 Javascript
原生javascript模仿win8等待提示圆圈进度条
Apr 24 Javascript
jquery文本框中的事件应用以输入邮箱为例
May 06 Javascript
jQuery插件开发精品教程让你的jQuery提升一个台阶
Jan 27 Javascript
Angular2 路由问题修复详解
Mar 01 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
Jul 19 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
Sep 08 Javascript
angular指令笔记ng-options的使用方法
Sep 18 Javascript
javascript实现日历效果
Jun 17 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
Jul 22 Javascript
【js设计模式】SOLID五大设计原则
Mar 24 Javascript
微信小程序图片左右摆动效果详解
Jul 13 #Javascript
vue iview多张图片大图预览、缩放翻转
Jul 13 #Javascript
vue实现图片预览组件封装与使用
Jul 13 #Javascript
微信小程序基于Taro的分享图片功能实践详解
Jul 12 #Javascript
小程序实现悬浮搜索框
Jul 12 #Javascript
小程序实现搜索框功能
Mar 26 #Javascript
iview的table组件自带的过滤器实现
Jul 12 #Javascript
You might like
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
cnblogs TagCloud基于jquery的实现代码
2010/06/11 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
js获取url中"?"后面的字串方法
2014/05/15 Javascript
理解AngularJs指令
2015/12/10 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
JS中的phototype详解
2017/02/04 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
JavaScript实现京东购物放大镜和选项卡效果的方法分析
2018/07/05 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
Antd-vue Table组件添加Click事件,实现点击某行数据教程
2020/11/17 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
python实现PID算法及测试的例子
2019/08/08 Python
python自动保存百度盘资源到百度盘中的实例代码
2019/08/26 Python
python自动化工具之pywinauto实例详解
2019/08/26 Python
python如何建立全零数组
2020/07/19 Python
python 绘制场景热力图的示例
2020/09/23 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
德国团购网站:Groupon德国
2018/03/13 全球购物
几个数据库方面的面试题
2016/07/01 面试题
如何客观的进行自我评价
2013/12/17 职场文书
一年级语文教学反思
2014/02/13 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
建筑工地门卫岗位职责
2014/04/30 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
hive数据仓库新增字段方法
2022/06/25 数据库
uniapp开发打包多端应用完整方法指南
2022/12/24 Javascript