问题:SignaturePad 手绘板,在电脑端可以绘制,在小程序端绘制以后不显示。
-
开发者工具打印日志:Canvas._left will be removed, DO NOT USE IT.
-
原因:真机使用时确实无法获取该canvas的实例属性_left.
-
解决:通过微信小程序的
wx.createSelectorQuery()
方法得到query
筛选器,通过select
方法绑定元素,再通过fields
指定要获取的属性值等。query.select('#signPadCanvas').fields({node: true,size: true,rect: true, }).exec((res) => {const canvas = res[0].nodeconst ctx = canvas.getContext('2d')const dpr = wx.getSystemInfoSync().pixelRatiocanvas.width = res[0].width * dprcanvas.height = res[0].height * dprcanvas.left = res[0].leftcanvas.top = res[0].topthis.signaturePad.init(canvas)this.canvas = canvas })
-
官方链接: 获取界面上的节点信息