$nextTick在具体应用中作用

#作用

vue中的nextTick主要用户处理数据动态变化后,DOM还未及时更新的问题,用nextTick就可以获取数据更新后最新DOM的变化。

#场景一

(1)点击按钮显示input框并且获取焦点。

<template>
  <div>
    <input type="text" v-show="isshow" >
    <button @click="onfouce">点击我显示input框并且获取焦点</button>
  </div>
</template>

<script>
export default {
    name:'demo',
    data(){
        return{
            isshow:false
        }
    },
    methods:{
        onfouce(){
            this.isshow= true
            // 这里当我点击按钮时,input不会自动的获取焦点,这是因为
            // 我们获取的dom节点时隐藏的,而this.isshow= true还没有更新到dom树上就执行以下代码
            // document.querySelector('input').focus()

            // 解决方法:$nextTick(),这个会等dom结构更新(也就是该函数执行,并且渲染完dom结构后,再次执行,这样我们得到的就是最新的(更新后)dom节点)
            this.$nextTick(()=>{
                document.querySelector('input').focus()

            })
        }
    }
}
</script>

<style>

</style>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值