ios环境下,swiper组件hidden=true时,swiper中的canvas无法取到节点?
发布于 7 年前 作者 qfan 13326 次浏览 来自 问答

调试基础库版本:2.12.2

在安卓下并不会有这个问题。

在ios环境下,当swiper中的内容(内含canvas)加载完成但是hidden=true时(组件隐藏但是节点存在),无法通过对canvas节点设置宽高。

同时,奇怪的是,若对canvas节点设置样式style=“border: 1px solid red”(颜色无关),则canvas会在border框的范围内显示,但比例失调。(我推测是由canvas的默认宽高压缩到border规定的范围中所导致的)

query.select("#cavs").fields({node: true, computedStyle: ['width', 'height']}).exec((res) => {
        const dpr =  wx.getSystemInfoSync().pixelRatio
        const { width, height } = res[0];
        canvas = res[0].node;
        // 设置宽高无效
        canvas.width = parseInt(width) * dpr ;
        canvas.height = parseInt(height) * dpr ;

}) 
1 回复

你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

回到顶部