Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(transformer-wx): 非实例方法 bind 应该转换为匿名回调 #7292

Open
wants to merge 1 commit into
base: 2.x
Choose a base branch
from

Conversation

ivan-94
Copy link
Contributor

@ivan-94 ivan-94 commented Aug 8, 2020

这个 PR 做了什么? (简要描述所做更改)

类组件的 事件Props 如果包含 bind 绑定就会被转换为 data-e-tap-so="this" 形式,例如:

const callback = () => {};

export default class Example extends Taro.Component {
  render() {
    return <View onClick={callback.bind(this, 1)}>Example</View>;
  }
}

转译为:

<block wx:if="{{$taroCompReady}}">
    <view bindtap="callback" data-e-tap-so="this" data-e-tap-a-a="{{1}}">Example</view>
</block>

运行时 callback 找不到。

预期的行为是:只有类实例方法进行 bind 时,才启用 data-e-tap-so

这个 PR 是什么类型? (至少选择一个)

  • 错误修复(Bugfix) issue id #
  • 新功能(Feature)
  • 代码重构(Refactor)
  • TypeScript 类型定义修改(Typings)
  • 文档修改(Docs)
  • 代码风格更新(Code style update)
  • 其他,请描述(Other, please describe):

这个 PR 满足以下需求:

  • 提交到 master 分支
  • Commit 信息遵循 Angular Style Commit Message Conventions
  • 所有测试用例已经通过
  • 代码遵循相关包中的 .eslintrc, .tslintrc, .stylelintrc 所规定的规范
  • 在本地测试可用,不会影响到其它功能

这个 PR 涉及以下平台:

  • 微信小程序
  • 支付宝小程序
  • 百度小程序
  • 头条小程序
  • QQ 轻应用
  • 快应用平台(QuickApp)
  • Web 平台(H5)
  • 移动端(React-Native)

其它需要 Reviewer 或社区知晓的内容:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
V-2 Version - 2.x
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants