9***@qq.com
9***@qq.com
  • 发布:2021-11-12 09:29
  • 更新:2022-03-20 17:01
  • 阅读:2423

#插件讨论# 【 uni-popup 弹出层 - DCloud前端团队 】为什么使用vue3的ref调不起弹窗

分类:uni-app
关联插件: uni-popup 弹出层
<template>  
  <view>  
    <button @click="openPopup">打开弹窗</button>  
    <uni-popup ref="signup" type="bottom"></uni-popup>  
  </view>  
</template>  

<script>  
import { reactive, toRefs, ref } from 'vue'  
import uniPopup from '@/components/uni-popup/uni-popup.vue'  
export default {  
  components: { uniPopup },  
  setup () {  
    const signup = ref(null)  
    function openPopup() {  
      signup.open()  
    }  
    return {  
      openPopup,  
      signup  
    }  
  },  
}  
</script>
2021-11-12 09:29 负责人:无 分享
已邀请:
4***@qq.com

4***@qq.com

const popup = ref(null)  
const toggle = type => {  
    // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性  
    popup.value.open(type)  
}  
const closeNotice = () => {  
    // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性  
    popup.value.close()  
}

刚测试 没问题

  • s***@outlook.com

    你是小程序试的码?我这里微信小程序不行

    2022-05-08 21:18

DCloud_UNI_HT

DCloud_UNI_HT

openPopup 在什么时候调用的 , 然后打印一下 ref 看是什么

  • sonicsunsky

    https://ask.dcloud.net.cn/question/133989,我这边打印ref元素的值是null

    2021-11-12 09:48

  • 9***@qq.com (作者)

    openPopup是在按钮点击是调用的 ref打印出来是null

    2021-11-12 09:57

sonicsunsky

sonicsunsky

你先打印一下signup.value有没有值,然后signup.value.open()这样调用

我这边打印xxx.value元素的值是null

https://ask.dcloud.net.cn/question/133989

  • 9***@qq.com (作者)

    我也是 使用ref获取不到dom

    2021-11-12 09:56

  • sonicsunsky

    回复 9***@qq.com: 嗯,应该是框架的问题

    2021-11-12 10:00

DCloud_UNI_HT

DCloud_UNI_HT

你是不是在小程序上有问题 ? 小程序目前还不支持这种ref的用法 ,需要使用老方法

  • 9***@qq.com (作者)

    不支持咋没发个文档说一下呢?插件市场里还标的是支持vue3 o(╥﹏╥)o 这种写法啥时候能被支持呢

    2021-11-12 11:17

  • DCloud_UNI_HT

    回复 9***@qq.com: 不是组件不支持 ,是微信小程序下载还不支持vue3 中 ref 这中用法 ,使用vue2的写法就可以了

    2021-11-12 14:23

  • 9***@qq.com (作者)

    回复 DCloud_UNI_HT: 好的 我等下试试

    2021-11-13 11:17

该问题目前已经被锁定, 无法添加新回复