diff --git a/packages/components/qrcode/components/qrcode-canvas/qrcode-canvas.ts b/packages/components/qrcode/components/qrcode-canvas/qrcode-canvas.ts index 433276030..9f478e0f5 100644 --- a/packages/components/qrcode/components/qrcode-canvas/qrcode-canvas.ts +++ b/packages/components/qrcode/components/qrcode-canvas/qrcode-canvas.ts @@ -24,7 +24,7 @@ export default class QRCode extends SuperComponent { methods = { async initCanvas() { - const query = wx.createSelectorQuery().in(this); + const query = this.createSelectorQuery(); query .select('#qrcodeCanvas') .fields({ node: true, size: true }) @@ -140,7 +140,7 @@ export default class QRCode extends SuperComponent { // 暴露 canvas 节点给父组件 getCanvasNode() { return new Promise((resolve) => { - const query = wx.createSelectorQuery().in(this); + const query = this.createSelectorQuery(); query .select('#qrcodeCanvas') .fields({ node: true, size: true }) diff --git a/packages/components/qrcode/qrcode.ts b/packages/components/qrcode/qrcode.ts index 5fd3c7feb..1bbd3be88 100644 --- a/packages/components/qrcode/qrcode.ts +++ b/packages/components/qrcode/qrcode.ts @@ -60,6 +60,14 @@ export default class QRCode extends SuperComponent { }; methods = { + // 用于外部调用,重新绘制二维码 + init() { + const canvasComp = this.selectComponent('#qrcodeCanvas'); + if (canvasComp) { + canvasComp.initCanvas(); + } + }, + handleDrawCompleted() { this.setData({ canvasReady: true, diff --git a/packages/components/watermark/watermark.ts b/packages/components/watermark/watermark.ts index 62872102b..9dc972b01 100644 --- a/packages/components/watermark/watermark.ts +++ b/packages/components/watermark/watermark.ts @@ -37,7 +37,7 @@ export default class Watermark extends SuperComponent { }, renderWatermark() { - const query = wx.createSelectorQuery().in(this); + const query = this.createSelectorQuery(); query .select('#watermarkCanvas') .fields({ node: true, size: true })