taro Teleport / Portal 支持?

jckbn6z7  于 2023-02-04  发布在  其他
关注(0)|答案(3)|浏览(165)

这个特性解决了什么问题?

Vue 的 Teleport 和 React 的 Portal 组件需求性挺强的,对于弹窗多的小程序很必要。

本质上它们都是通过操作DOM API来实现 (比如 document.insertBefore), 现在的 Taro3 实现了类似的DOM API,应该已经可以实现这类功能了?

可以通过ref取到 TaroElement , 然后传给 Teleport

const teleportRef = inject('teleportRef')

<Teleport :to="teleportRef">
   ....
</>

现在尝试了下会报这个错误:

Cannot read property '__treeManager__' of undefined

这个 API 长什么样?

const teleportRef = inject('teleportRef')

<Teleport :to="teleportRef">
   ....
</>
nukf8bse

nukf8bse1#

如果尝试更新teleport里面的dom,就会导致

Cannot read property '__treeManager__' of undefined

我隐约记得前几个月测试的时候是ok的,不知道是vue更新了还是taro更新了,现在又不行了😭

4ngedf3f

4ngedf3f2#

问题在于小程序环境要实现跨页面的全局组件,这点还是不好实现,需要再想想

axr492tv

axr492tv3#

问题在于小程序环境要实现跨页面的全局组件,这点还是不好实现,需要再想想

我觉得小程序没必要实现跨页面?Portal啥的只需要传当前页面的node ref就行了,毕竟小程序不会同时显示两个页面。

相关问题