Taro: 组件中无法获取canvasToTempFilePath无法获取到canvas, this也传入了

Created on 9 Aug 2019  ·  5Comments  ·  Source: NervJS/taro

Feature Request 请提到 FeatHub

Taro 使用上的问题请提到 Taro 社区——让每一次交流被沉淀

如果是提交 bug,请搜索文档和 issue,确认以下事项:

  • 该问题没有在其他 issue 和文档讨论到,不属于重复内容

  • 分割线以下的模板除了「 补充信息」每一样都必填

如果不满足以上两点要求的 bug 报告,issue 会被直接关掉。

请多多理解,您现在的不便将会使 Taro 开发者更高效地定位你的问题,修复你的问题。像你一样的 Taro 的使用者也可以通过搜索找到你提供的 bug,对各方都有很大好处。

🙏🙏🙏

阅读完后请在提交的issue中删除以上内容,包括分割线。

问题描述
[问题描述:站在其它人的角度尽可能清晰地、简洁地把问题描述清楚]

复现步骤
[复现问题的步骤]

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error
draw() {
    let _this = this
    let {
      step,
      target,
      radius,
      lineWidth,
      bgColor,
      Color,
      CapType
    } = this.props
    console.log('Circle.props', this.props)
    let width = Taro.getSystemInfoSync().windowWidth
    let ctx = Taro.createCanvasContext('Circle', _this)
    let Circle = new Charts(width, radius, lineWidth, bgColor, [Color], CapType)
    Circle.drawRing(ctx, (2 * Math.PI) / 2.5, [step], 50, 50, target, () => {
      setTimeout(() => {
        Taro.canvasToTempFilePath(
          {
            canvasId: 'Circle',
            destWidth: 400,
            destHeight: 400,
            success: res => {
              this.setState({
                casUrl: res.tempFilePath
              })
            }
          },
          _this
        )
      }, 800)
    })
  }

// ```js
// 代码放这里(前后的 "```" 有助 Mardown 整理代码格式和加入代码高亮)
// ```

// 提供完整可复现的代码和整理好代码格式,有助于我们快速定位问题,节省你我时间。
// 代码提供不全或代码格式混乱的 issues 【有可能被忽略】,烦请各位注意。

期望行为
[这里请用简洁清晰的语言描述你期望的行为]

报错信息

[这里请贴上你的完整报错截图或文字]

系统信息

Taro v1.2 及以上版本已添加 taro info 命令,方便大家查看系统及依赖信息,运行该命令后将结果贴下面即可。

  • 操作系统: [e.g. Windows 10]
  • Taro 版本 [e.g. v.0.0.64]
  • Node.js 版本 [e.g. v9.0.0]
  • 报错平台 [h5, weapp]

补充信息
[可选]
[根据你的调查研究,出现这个问题的原因可能在哪里?]

Most helpful comment

试试this.$scope

All 5 comments

欢迎提交 Issue~

如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏

如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。

Good luck and happy coding~

什么平台?

Hello~

您的问题所提供的信息不足,我们无法定位到具体的问题。如果有空的话还请拔冗提供更具体的信息,否则这个 issue 将在 15 天后被自动关闭。

如果您在这 15 天中更新更多信息自动关闭的流程会自动取消,如有其他问题也可以发起新的 Issue。

Good luck and happy coding~

试试this.$scope

@SiegeLioner let ctx = Taro.createCanvasContext('Circle', this.scope)

Was this page helpful?
0 / 5 - 0 ratings