nextTick
- 语法:
this.$nextTick(回调函数) - 作用:在下一次 DOM 更新结束后执行其指定的回调。
- 什么时候用:当改变数据后,要基于更新后的新DOM进行某些操作时,要在nextTick所指定的回调函数中执行。
代码演示
下面我们通过一个小例子来演示用法
<template>
<div>
<!-- 实现点击之后显示输入框 并获取焦点 -->
<input type="text" ref="textInput" v-show="isShow">
<button @click="show">点击出现输出框</button>
</div>
</template>
<script>
export default {
name: 'App',
data() {
return {
isShow: false,
age: 18
}
},
methods: {
show() {
this.isShow = true
// 我们在这里直接写获取焦点是获取不到的 因为在Vue中是要等函数执行完了在更新页面的 我们在函数内部使用了获取焦点事件此时页面还没有更新 input框还没有显示 所以我们需要使用官方提供的API $nextTick()
// this.$refs.textInput.focus()
// 这个时候就可以实现效果了
this.$nextTick(function () {
// 页面更新后调用
this.$refs.textInput.focus()
})
}
},
}
</script>
|