1***@qq.com
1***@qq.com
  • 发布:2023-11-17 20:59
  • 更新:2023-11-18 10:03
  • 阅读:162

vue3 怎么通过ref获取节点

分类:uni-app

<template>

<uni-badge text="1" ref='badge'></uni-badge>  
<uni-badge text="2" type="success" @click="bindClick"></uni-badge>  
<uni-badge text="3" type="primary" :inverted="true"></uni-badge>  

</template>

<script setup>
import {ref,onMounted} from 'vue'
const badge = ref()
console.log(badge.value);

</script>

获取不到ref对象

2023-11-17 20:59 负责人:无 分享
已邀请:
喜欢技术的前端

喜欢技术的前端 - QQ---445849201

元素直接用div 可以拿到  
<template>  
    <view>  
        <div class="" ref="hello">  
            viewviewviewviewview  
        </div>  
    </view>  
</template>  
<script setup>  
    import {  
        onMounted,  
        ref  
    } from "vue";  
    const hello = ref(null);  
    onMounted(() => {  
        hello.value.innerText = '内容被修改'  
        console.log(hello.value);  
    });  
</script>  

<style>  

</style>
  • 1***@qq.com (作者)

    那请问一下老哥 就是用的uni组件 有的方法是拿到节点后用他的open方法 这个时候拿不到怎么办啊

    2023-11-18 13:31

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

    非常感谢

    2023-11-18 13:32

  • 喜欢技术的前端

    回复 1***@qq.com:


    <template>  
    <view>
    <button class="button" @click="open">uni-popup</button>
    <uni-popup ref="popup" type="bottom">
    <view class="popup-mask">
    <view class="">
    二维码图标
    </view>
    </view>
    </uni-popup>
    </view>
    </template>
    <script setup>
    import {
    onMounted,
    ref
    } from "vue";
    const popup = ref(null);
    const open = ()=>{
    popup.value.open('center')
    }
    </script>
    <style scoped>
    .popup-mask{
    background-color: #fff;
    }
    </style>

    2023-11-18 14:08

  • 喜欢技术的前端

    回复 1***@qq.com: 以uni-popup 为例,正常使用 popup.value.open('center')

    2023-11-18 14:08

  • s***@126.com

    不用改为div,在value后面加个“$el”即可,最后变成这样:hello.value.$el.innerText = '内容被修改'

    2024-02-21 09:54

  • s***@126.com

    试试popup.value.$el.open('center')?

    2024-02-21 09:54

要回复问题请先登录注册