【微信小程序】echart中canvas原生组件层级太高遮挡vantui中的组件

这篇具有很好参考价值的文章主要介绍了【微信小程序】echart中canvas原生组件层级太高遮挡vantui中的组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【微信小程序】echart中canvas原生组件层级太高遮挡vantui中的组件

之前的问题图片如下:

微信小程序echarts降低层级,微信小程序,echarts,小程序

最开始想到的方案是降低canvas的层级,但是canvas是原生组件,他的层级是没法改变

所以又想到改变vant组件的层级,但是一样无果。。。

随后,看到网上大篇幅的都是使用显示隐藏来操控picker的,这样会如果页面可以滑动,就导致用户还是可以看到echarts的消失

后面想了一种解决方案,就是在小程序中打开picker的时候,将echarts绘成图片,然后隐藏原本的echarts,显示绘制好的image图片,当然我在模拟器中显示的图片很模糊,手机上是可以正常显示的。

可能需要将图片的大小和echarts的保持一致

主要代码如下
说明下,下面pixelRatio和screenWidth是通过wx.getSystemInfoSync()方法获取的文章来源地址https://www.toymoban.com/news/detail-639465.html

//这个是echarts的初始化,至于setOption就是常用的echarts的配置,可参考官网
init_echarts: function () {
    this.setData({
    	echartsComponnet: this.selectComponent('#mychart');
    })
    this.echartsComponnet.init((canvas, width, height) => {
      // 初始化图表
      Chart = echarts.init(canvas, null, {
        width:width,
        height:height,
        devicePixelRatio: this.data.pixelRatio
      });
      // Chart.setOption(this.getOption());
      this.setOption(Chart);
      // 注意这里一定要返回 chart 实例,否则会影响事件处理等
      return Chart;
    });


// 打开picker将echarts转为图片
  transformImage(){
    let that = this;
    return new Promise((resolve,reject)=>{
      that.echartsComponnet.canvasToTempFilePath({
        x: 0,
        y: 0,
        width: this.data.screenWidth-40,
        height: 650,
        destWidth: 375 * this.data.pixelRatio,
        destHeight: 700 * this.data.pixelRatio,
        canvasId: 'mychart',
        success(res) {
          resolve()
          that.setData({
            imgSrc:res.tempFilePath,
            showEchartsImg:true
          })
        },
        fail(){
          reject()
        }
      })
    })
  },

到了这里,关于【微信小程序】echart中canvas原生组件层级太高遮挡vantui中的组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 解决微信小程序Echarts图表层级过高的方案

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

    2024年02月03日
    浏览(49)
  • 在原生微信小程序中使用 echarts

    1.创建一个微信小程序项目或打开已有的微信小程序项目,下述示例采用全新创建的方式,在电脑文件中创建一个空的文件夹,命名自定义即可 2.将下载好的 echarts 文件放入创建好的空文件中 3.使用微信开发者工具打开创建的文件夹 4.查看创建结果 1.需要找到 app.wxss 文件中,

    2024年02月05日
    浏览(45)
  • 在原生微信小程序中使用echarts

    现在越来越多的项目都在使用可视化的功能,那么使用 echarts 实现是一种不错的选择,本文将带给大家如何在原生微信小程序中使用 echarts,保姆级教程 文件地址:https://github.com/ecomfe/echarts-for-weixin/tree/master 创建一个微信小程序项目或打开已有的微信小程序项目,下述示例采

    2024年02月09日
    浏览(51)
  • 微信小程序使用 canvas 2d 实现签字板组件

    本文是在微信小程序中使用 canvas 2d 来实现签字板功能; 效果图: 代码: 1、wxml 2、js 3、总结 canvas 的宽度和高度可以写死,也可以根据当前可是区域动态计算;需要注意的是 res[0].node 的宽度和高度的计算是当前 canvas 元素上的宽度和高度乘设备的 pixelRatio ;

    2024年02月09日
    浏览(49)
  • 小程序canvas层级过高真机遮挡组件的解决办法

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

    2024年02月08日
    浏览(59)
  • 基于 Taro 框架的微信小程序 canvas 绘图海报组件

    项目需要保存收款码,效果如图: (此文仅代表个人日常工作记录,能力有限描述并不全面) 1.安装 npm i taro-plugin-canvas -S --production(taro-plugin-canvas 是基于 Taro 框架的微信小程序 canvas 绘图组件,封装了常用的操作,通过配置的方式生成分享图片)  2.引入:import { TaroCanvas

    2024年01月21日
    浏览(55)
  • 【uniapp】使用canvas组件编译到微信小程序兼容出错问题

    使用uniapp编译跨平台项目会遇到不少兼容问题,这里主要讲canvas组件的,编译到微信小程序会有兼容出错问题,这里给讲一下解决方案,希望有帮助。 如果使用 CanvasContext 绘制,以下代码,编译到微信小程序上可能发现绘制不出来 看canvas组件的属性 type=\\\"2d\\\" 是否有加,要去掉

    2024年02月02日
    浏览(165)
  • 【uniapp】中 微信小程序实现echarts图表组件的封装

     插件地址:echarts-for-uniapp - DCloud 插件市场 图例: 一、uniapp 安装   二、文件夹操作 将 node_modules 下的 uniapp-echarts 文件夹复制到 components 文件夹下  当前不操作此步骤的话,运行 - 运行到小程序模拟器 - 微信开发者工具 时,echarts图表显示不出来 原因:运行到小程序打包过

    2024年02月12日
    浏览(50)
  • 微信小程序(原生)封装弹框组件

    小程序封装原生弹框组件(一个弹框,点击确定关闭弹框,有需要的直接复制哦) 上面是组件的内容,下面是引用方法 首先第一步在app.json或者单文件json文件引入 我用的比较多就在app.json引入的 下面是文件使用方法: 只需要子啊data中控制这两个属性就可以了,喜欢的点个赞

    2024年02月11日
    浏览(63)
  • 原生微信小程序使用 wxs;微信小程序使用 vant-weapp组件

    在这里插入图片描述 操作顺序 :文档地址 如果使用 typescript 需要操作步骤3,否则不需要操作 2.1 在根目录下 操作 2.2 安装版本 2.3 构建包 - 详情-勾选使用 npm 2.4 使用 vant 组件

    2024年02月11日
    浏览(74)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包