dcloudio / uni-ui

基于uni-app的、全端兼容的、高性能UI框架
https://uniapp.dcloud.io/component/uniui/uni-ui.html
Apache License 2.0
1.88k stars 667 forks source link

popup 在Vue3中是否无法在组合式api中使用 #895

Closed Bo-Teng closed 5 months ago

Bo-Teng commented 5 months ago

image 我尝试使用图中的方法去获取组件实例,但是在获取不到。 经过尝试只能使用选项式的方式去获取(如下图),如果暂时还不支持组合式建议在文档中说明一下,不然对像我这种刚接触uni app 还是挺迷茫的。 image

环境: HBuilderX 4.15 window 10 微信开发者工具 stable 1.06.2402040

julytian commented 5 months ago

应该是this.$refs.popupRef.open()

Bo-Teng commented 5 months ago

应该是this.$refs.popupRef.open()

@julytian 这里是因为我根据示例改成了选项式(vue2那种范式)的方式,ref就变成了popup。

Bo-Teng commented 5 months ago

@julytian 如果使用组合式api(setup)就会导致获取不到这个组件的示例,但是自定义的组件时可以的。

julytian commented 5 months ago

@Bo-Teng ,vue3 setup 写法没有 this 了,你试下下面这种写法:

import { ref } from 'vue'
const popupRef = ref()
function open() {
 popupRef.value?.open()
}
Bo-Teng commented 5 months ago

@julytian 哥们谢谢你的指点,我发现了我问题是因为我没有导出这个popupRef