-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
feat: 支持传递函数作为三方组件参数 #11993
feat: 支持传递函数作为三方组件参数 #11993
Conversation
9 similar comments
@Chen-jj 帮看下,是不是有更好的方案,实测https://github.com/WEN-JY/taro-demo/tree/feature-support-function-params |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
通过绑定三方组件自身的sid,实现渲染多个三方组件时,参数互不干扰
@WEN-JY 666 |
虚幻之物对应着冥冥之路!:《羽》
|
@WEN-JY 关于这部分有疑问, 感觉做到普通属性可以传递函数就可以? |
这里的改动是for 三方原生组件的,对正常组件的onEvent事件不影响,如: 关于支持普通函数后为什么不满足诉求,有两个考虑: |
这一点的确是没考虑到
关于这里,我的意思不是自定义组件内原生事件的监听。是自定义组件通过 |
第二点你说的对, 由于本身支持传递函数需要修改template,微信端并没有修改taro-weapp,所以还原思路是判断下阿里系的事件绑定走单独处理,其余的小程序不变即可,但后续是不是还是要支持下微信端传递onEventHandle非事件函数?我还没想好怎么进行通用实现成本比较低 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
主要改动在于通过分端判断恢复支持triggerEvent的形式监听事件,交给eh统一处理,支付宝、钉钉小程序支持通过属性将函数传递给三方原生组件,支持事件调用
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
第一版本。。好多review搞蒙了,这个版本不支持triggerEvent触发事件,后面的修复了
梳理了一下: 目的是在支付宝小程序中使用 也就是支持这种写法 但是在 JSX 里使用 onXXX 的语法会被处理为事件绑定,因此需要在 reconciler 把支付宝小程序原生自定义组件的 所以修改 reconciler 和支付宝的模板即可。
这点和 JSX 的事件语法冲突,暂不打算支持。 |
Review 了一下,总体逻辑没有问题的,但需要把这些改动解耦到支付宝插件中,麻烦抽空看看的~ |
收到,有些确实是我不太清楚的,我来调整下 |
f87bd33
to
89a917a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
通过taro-alipay实现hooks支持自定义三方组件传递onEvent函数,新合并到feat/3.5
4848c64
to
89a917a
Compare
71d9a46
to
fa415fb
Compare
尴尬,3.5 合进 next 后,PR 被关了 @WEN-JY 麻烦重新提一下到 next,还是我这边 cherry-pick 一下 |
这个改动有合入么? 现在在哪个版本上面? |
在vue3框架也修复了吗,最新版本3.5.2,vue3框架支付宝小程序原生组件仍然不能传递函数 |
@WEN-JY 方便重提下么? |
请问下这个feat什么时候可以发布? @WEN-JY @Chen-jj @tonyjeffreyIn |
请问这个什么时候可以修复,用支付宝第三方组件无法使用 |
@Chen-jj 这个问题修复好了吗? |
想问下这个问题修复了吗 |
这个 PR 做了什么? (简要描述所做更改)
支持传递函数作为参数给三方组件使用,修复关联issue;
支持如下传入函数参数:
主要改动:
修改了
@tarojs/plugin-platform-alipay
,使其支持三方组件函数传参,不走原来的事件合成管理逻辑,本身这类参数也是三方组件内部的逻辑,不属于原生事件,注意:遵循小程序自定义组件参数绑定规则,函数需要在page实例上实现修改了
@tarojs/react
,在设置函数类属性的时候判断是否为三方组件,如果是,透传属性到attr(以on开头的)和props(普通函数);修改了
@tarojs/runtime
,在setAttribute时判断时三方组件且参数为函数,绑定到页面实例上,供三方组件使用;这个 PR 是什么类型? (至少选择一个)
这个 PR 涉及以下平台: