浅谈vue3.x $nextTick和 $refs用法

vue3.x $nextTick和 $refs用法
在会使用vue2.x语法后,正在学习vue3语法,记录一下 $nextTick和 $refs用法,下面是一个demo,实际演示如何使用
话不多说直接上代码(这里ui用的是elementUi)

<template>
    <el-button type="" @click="clickShow">显示弹窗</el-button>

    <el-dialog  v-model="flag" width="500px" :show-close="false">
        <div style="width: 100%; height: 300px;">
            <div ref="componentRef">
                获取Dom结构
            </div>
        </div>
    </el-dialog>
</template>

<script lang="ts">
    import {ref, nextTick } from "vue";

    export default {
        name: "aa",
        setup() {
            const flag = ref(false);
            const componentRef = ref(null)
            //或者 
            //泛型默认值语法<T = any>
			   // type Ref<T = any> = {
			       // value : T
			   // }
			   // const componentRef: Ref<div | null> = ref(null);

            const clickShow = ()=>{
                flag.value = true;
                //此处显示null,是因为弹框刚显示出来,componentRef的div-dom结构还未加载完
                console.log(componentRef.value);
                handleNextTick();
            }
            //利用nextTick()实现vue2.x中的$nextTick
            const handleNextTick = async ()=>{
                await nextTick();
                //利用定义的componentRef获取dom结构
                console.log(componentRef.value);
            }

            return {
                flag,
                componentRef,
                clickShow
            };
        },

    };
</script>

本人也是正在学习vue3语法,如果有更好的写法,还请各位大神不吝赐教哦~

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值