canvas层级太高问题的解决办法

这篇具有很好参考价值的文章主要介绍了canvas层级太高问题的解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、产生原因

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

二、解决方案

1.html页面的处理
加上一个判断wx:if=“{{!canvasImg}}”

<canvas
   class="canvas-code"
   canvas-id="QRcode"
   wx:if="{{!canvasImg}}"
   style="width: 240rpx; height: 240rpx;">
</canvas>
<image wx:else src="{{canvasImg}}" style="width: 240rpx; height: 240rpx;" />

2.js页面的处理
(1)data中声明一个变量canvasImg

data(){
  return {
    //canvas转化为图片的临时路径
    canvasImg:"",
  }
},

(2)新增方法:处理canvas转化为图片

// 处理canvas转化为图片
handleCanvarToImg(){
   wx.canvasToTempFilePath({
     x: 0,
     y: 0,
     width: 120,
     height: 120,
     canvasId: 'QRcode',
     success: (res) => {
        //获取图片的临时路径
        this.canvasImg = res.tempFilePath
     }
   });
},

原理:弹框出现时,canvas隐藏,image出现
(1)弹框显示,转化为image,不再进行处理,当前页面之后都以image进行显示(上面展示的是此方法相关代码)。
(2)弹框显示,转化为image,弹框消失,转化为canvas,该方法中需在弹框消失时,将canvasImg赋为null。文章来源地址https://www.toymoban.com/news/detail-521051.html

到了这里,关于canvas层级太高问题的解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小程序canvas层级过高真机遮挡组件的解决办法

    在小程序开发中需要上传图片进行裁剪,在实际真机调试中发现canvas层遮挡住了生成图片的按钮。 问题代码 生成、重选的按钮有时会被canvas绘制的图形遮住,根本不能点击触发选中事件。 1、canvas是小程序开发中的绘图工具,可以绘制图形、渲染图形和动画,故很多的情况下

    2024年02月08日
    浏览(59)
  • uniapp开发小程序中因uchart的canvas层级过高遮盖uni-datetime-picker组件的解决办法

    页面需要展示一个环形图,可以按时间段筛选数据,所以我用了 uchart 和 uni-datetime-picker 组件。 但uchart用到了 canvas ,其层级过高,当实机运行小程序时会遮盖弹出的uni-datetime-picker组件 当uni-datetime-picker组件弹出遮罩时,把canvas移到用户视野之外。 uni-datetime-picker组件本质就是

    2023年04月12日
    浏览(58)
  • 解决uniapp微信小程序canvas不能引入字体的问题

    这是微信小程序最近修复问题,里面有关于loadFontFace的修复 在使用前要先把调试基础库调整为 2.25.1 ,我调到这个版本就好其他的版本我也没试 下面是我画布导出的大概效果 姓名这里使用了字体,白色的轮廓是字体轮廓填充 首先要了解一个api名称:uni.loadfontface 这里source里

    2024年02月09日
    浏览(64)
  • uniapp中video层级太高解决方案,适用安卓/IOS/H5

    官方给出的方案比较繁琐复杂,因此自己写了一个简单粗暴的组件,利用iframe实现 1.我们直接新建一个nVideo.vue的组件 2.在需要使用的地方直接引入使用这个组件,只需传src视频地址进来即可 话不多说,直接上代码 直接在需要用到的地方引入使用即可 使用频率高的话可全局注

    2024年02月06日
    浏览(48)
  • 微信小程序左上角home图标的解决方法之一 层级混乱导致的home图标显示的问题 自定义左上角左侧图标的返回路径

    这个项目的编辑页在tabbar上 导致跳到tabbar得使用wx.switchTab 保存后返回原来的页面就出现了左上角的home图标 本来想通过自定义home图标的跳转路径来解决这个问题 没想到居然找不到相关内容 有清楚的朋友麻烦给我留个言不胜感激 那我写一下我的骚操作   这就是观察记录页面

    2024年02月11日
    浏览(59)
  • 微信小程序picker组件遇到的问题以及解决办法

    先来看一下官方文档中picker的基本概念: 从底部弹起的滚动选择器,现支持三种选择器,通过mode来区分,分别是普通选择器,时间选择器,日期选择器,默认是普通选择器。 重要属性 range: 选取范围,数据类型为Array / Object Array,mode为 普通选择器 时,range 有效; value:

    2024年02月11日
    浏览(55)
  • 微信小程序安卓系统下Input输入内容上移错位问题的解决办法

    需要设置一个状态控制scroll-view是否允许滑动,当Input获取焦点是,将滑动禁止,当Input失去焦点时,允许滑动

    2024年01月20日
    浏览(77)
  • 解决微信小程序Echarts图表层级过高的方案

    在微信小程序中使用Echarts图表时,有时会遇到图表层级过高的问题。这可能导致图表无法正常显示或部分内容被遮挡。本文将介绍一种解决方案,通过修改Echarts图表的样式和配置,可以有效解决这个问题。 解决方案如下: 检查图表容器的样式 首先,我们需要检查图表容器

    2024年02月03日
    浏览(49)
  • 微信小程序开发者工具基础库下载调试基础库失败的解决办法,填坑DNS问题。

    如下图: 站长工具查Ip的地址是:http://tool.zhiduopc.com/ip 查询结果如下图: 结论:res.servicewechat.com这个域名对应的ip是:125.77.176.247 首先打开文件hosts。路径通常为:C:WindowsSystem32driversetc 截图如下: 如果有C:WindowsSystem32driversetc路径但里面没有hosts文件,则新建一个。不会

    2024年02月06日
    浏览(94)
  • 微信小程序<open-data type=“userAvatarUrl“>真机无法获取头像问题/解决办法

    今天在做小程序的时候使用 open-data type=\\\"userAvatarUrl\\\" 标签发现在本地开发的时候可以获取本人的头像,但是在真机上就无法显示解决办法 我们要换一种思路去处理 使用官方提供的方法 官网文档链接 wxml js 效果 希望此文章能帮助到你

    2024年02月11日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包