微信小程序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 相关文章推荐
jQuery 阴影插件代码分享
Jan 09 Javascript
jQuery通用的全局遍历方法$.each()用法实例
Jul 04 Javascript
微信小程序 跳转方式总结
Apr 20 Javascript
jquery实现左右轮播图效果
Sep 28 jQuery
vue 项目如何引入微信sdk接口的方法
Dec 18 Javascript
jQuery中实现text()的方法
Apr 04 jQuery
Vue动态修改网页标题的方法及遇到问题
Jun 09 Javascript
vue简单封装axios插件和接口的统一管理操作示例
Feb 02 Javascript
JavaScript或jQuery 获取option value值方法解析
May 12 jQuery
Vue使用轮询定时发送请求代码
Aug 10 Javascript
vue 图片裁剪上传组件的实现
Nov 12 Javascript
js基于canvas实现时钟组件
Feb 07 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
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
JavaScript中Array对象用法实例总结
2016/11/29 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
JavaScript数据结构之二叉树的遍历算法示例
2017/04/13 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
如何用原生js写一个弹窗消息提醒插件
2019/05/24 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
vue 页面跳转的实现方式
2021/01/12 Vue.js
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
python dict.get()和dict['key']的区别详解
2016/06/30 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
大三毕业自我鉴定
2014/01/15 职场文书
高中军训感言800字
2014/03/05 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
2016新年感言
2015/08/03 职场文书
校园安全教育心得体会
2016/01/15 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python
Pandas-DataFrame知识点汇总
2022/03/16 Python