微信小程序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 相关文章推荐
GridView中获取被点击行中的DropDownList和TextBox中的值
Jul 18 Javascript
jquery ready函数、css函数及text()使用示例
Sep 27 Javascript
JS判断对象是否存在的10种方法总结
Dec 23 Javascript
Bootstrap每天必学之表格
Nov 23 Javascript
jquery模拟实现鼠标指针停止运动事件
Jan 12 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
Apr 01 Javascript
javascript 动态脚本添加的简单方法
Oct 11 Javascript
js控制文本框禁止输入特殊字符详解
Apr 07 Javascript
浅谈React组件之性能优化
Mar 02 Javascript
vue完成项目后,打包成静态文件的方法
Sep 03 Javascript
原生js实现轮播图特效
May 04 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
May 18 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
Zerg兵种介绍
2020/03/14 星际争霸
ip签名探针
2006/10/09 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
jquery 的 $("#id").html() 无内容的解决方法
2010/06/07 Javascript
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
JavaScript中isPrototypeOf函数作用和使用实例
2015/06/01 Javascript
Nodejs的express使用教程
2015/11/23 NodeJs
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
[02:01]大师之路——DOTA2完美大师赛11月论剑上海
2017/11/06 DOTA
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
python如何从文件读取数据及解析
2019/09/19 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
Python plt 利用subplot 实现在一张画布同时画多张图
2021/02/26 Python
时尚、社区、科技:SEVENSTORE
2019/04/26 全球购物
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
计算机多媒体专业自荐信
2014/07/04 职场文书
三峡导游词
2015/01/31 职场文书
2015年新农合工作总结
2015/03/30 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
高中数学课堂教学反思
2016/02/18 职场文书
Python爬虫基础初探selenium
2021/05/31 Python