详情参考微信小程序文档原生组件

1、为什么canvas组件总是会在最上层?

由于canvas组件是原生组件,原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。

2、 如何解决canvas层级最高问题?

方法一:用原生组件覆盖原生组件

为了解决原生组件层级最高的限制。小程序专门提供了 cover-view 和 cover-image 组件,可以覆盖在部分原生组件上面。这两个组件也是原生组件,但是使用限制与其他原生组件有所不同。
比如:cover-view只支持嵌套 cover-viewcover-imagebutton

方法二:让canvas在图片和canvas间切换

因为cover-view只支持嵌套 cover-viewcover-imagebutton,对于canvas上显示弹窗中的input之类的需求就不太符合。

思路:在data里定义了一个canvasImg,然后在wxml中判断,是否这个值是否有效,若有效,canvas隐藏;否则,显示canvas。然后在页面渲染canvas时,执行了wx.canvasToTempfilepath方法,将雷达图转化为图片。此时给canvasImg赋值,canvas隐藏,image显示。下面是具体实现代码:

wxml:

<view class="canvas-content"><canvascanvas-id="myCanvas"wx:if="{{!canvasImg}}"style="width: 260px; height: 180px;"></canvas><image wx:else src="{{canvasImg}}" style="width: 260px; height: 180px;" />
</view>

js:

// 需要让 弹窗等 出现在canvas上的事件
handleCanvarToImg() {var that=this;wx.canvasToTempFilePath({x: 0,y: 0,width: 260,height: 180,canvasId: 'myCanvas',success: function(res) {that.setData({ canvasImg: res.tempFilePath});}});
},
// 最后弹窗等消失时,触发的事件中需将canvasImg初始化(=null)

【微信小程序】解决canvas组件永远在最高层问题相关推荐

  1. 微信小程序-解决canvas组件永远在最高层问题

    由于canvas组件是原生组件,原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上. 为了解决原生组件层级最高的限制.小程序专门提供了 cover-vi ...

  2. 微信小程序画布Canvas组件touchend事件不触发处理

    一.摘要 在微信小程序手势图案锁屏.解锁实现并提供onSuccess等回调一文中,用Canvas画布组件实现了类似Android和Iphone的图案锁屏.解锁功能,除去偶尔卡顿.滑动不连续外,其它都还 ...

  3. 微信小程序引入vant-weapp组件遇到的bug以及解决方法

    微信小程序引入vant-weapp组件遇到的bug问题 原本百度了一波,说只要安装了node还有npm之后,使用gitBash命令行工具直接cd到根目录下然后直接引入以下代码: npm i vant- ...

  4. 解决了:微信小程序使用canvas绘制倒计时圆圈和数字居中的实现

    微信小程序使用canvas绘制倒计时圆圈和数字居中的实现 1.显示结果 2.过程: (1)wxml + css <!-- 每道题 --><view style="backg ...

  5. 微信小程序 F2 图表组件

    @antv/f2-canvas 微信小程序 F2 图表组件 安装 npm i @antv/f2-canvas 快速开始 下面我们就开始使用 f2-canvas 组件来绘制图表吧,这里假设用户已经初步了 ...

  6. html5绘制图形幸运大转盘,微信小程序利用canvas 绘制幸运大转盘功能

    小程序对 canvas api 跟h5的不太一致 ,所以这个搞的比较久,不多说,先贴代码 Page({ /** * 页面的初始数据 */ data: { awardsConfig: {}, resta ...

  7. uni开发微信小程序解决全局分享分销问题

    uni开发微信小程序解决全局分享分销问题 1. 需求 1.小程序内每个页面都要打开胶囊分享按钮并实现分销 2.分享功能应该是在用户登录之后才予以打开 3.不想做在每个页面都写分享钩子的傻逼操作 2.实 ...

  8. 微信小程序 — 长列表组件 recycle-view 详细教学

    微信小程序 - 长列表组件 recycle-view 踩坑问题全解 写在前面 引入长列表组件 recycle-view 长列表组件 recycle-view 的使用 问题一.如何增加下拉刷新功能? 问 ...

  9. 微信小程序日历签到组件(原创)

    微信小程序日历签到组件(原创) 开发原因: 为满足定制需要,市面上又找不到车子和轮子,干脆自己撸了并开源分享有需要的人用 其他说明: 该组件js日期均已使用yyyy/MM/dd格式连接解决ios不兼容 ...

最新文章

  1. 每天一个python 小案例——if else
  2. C# 获取wave文件信息【转】
  3. 搞懂这四个问题,企业数字化转型才可能成功
  4. 三相全桥整流电路_三相桥式全控整流电路
  5. 简自动类型提升,精度损失类型强制转换,常用转义字符,简单帮你回顾Java基本数据类型整形浮点型字符型布尔型Boolean及其运算规则
  6. mysql做乘法运算溢出_乘法溢出及对策
  7. ubuntu 13.04 找回丢失的grub2
  8. java三个技术平台_Java的3个平台有什么区别
  9. python学习视频-2018年最新Python学习路线图(内含大纲+视频+工具)
  10. WPF教程二:理解WPF的布局系统和常用的Panel布局
  11. HTML-CSS常用元素居中对齐方法
  12. 工商银行支付接口开发Java
  13. Markdown从入门到放弃
  14. 录制音频文件大小的计算
  15. 油/水溶性CdS-ZnS/InP-ZnS/ZnSe-ZnS/CdSe/ZnS量子点的应用
  16. 防火墙网络地址转换技术
  17. P3426 [POI2005]SZA-Template(kmp、dp)
  18. 【cs224n学习作业】Assignment 1 - Exploring Word Vectors
  19. 72_text_generation\unimo-text 理解
  20. linux etc login.def,Linux-用户管理命令

热门文章

  1. S32K14X-DAM学习笔记
  2. WebApi传参总动员(五)
  3. PHP获取东方头条接口的新闻,新闻头条
  4. 财务专业简历 计算机水平,财会专业的人怎么写简历?这么写通过率80%以上
  5. 尼康Nikon自帯马达镜头自动对焦失灵尝试解决
  6. adb client, adb server, adbd原理浅析(附带我的操作过程)
  7. android adb 端口转发
  8. 计算机电缆备用芯,铁路信号内屏蔽电缆备用芯线
  9. 攻略 | 如何拿下奖金534万的全国人工智能大赛?
  10. 开源一套教学教务管理系统,需要的可以看一下!