當(dāng)我們要讓頁面加載后自動(dòng)放焦于輸入框時(shí),就需要用到Vue的Input自動(dòng)獲取焦點(diǎn)指令——autofocus。
<template> <div> <input type="text" v-autofocus> </div> </template> <script> import Vue from 'vue'; Vue.directive('autofocus', { inserted: function (el) { el.focus(); } }); </script>
在上面的代碼中,我們先在模板中添加了一個(gè)<input>元素,并在這個(gè)元素上綁定了一個(gè)自定義指令v-autofocus。然后我們在腳本塊中引入了Vue,并通過Vue.directive創(chuàng)建了一個(gè)名為autofocus的自定義指令,指定了它的inserted鉤子函數(shù),用于在元素插入到DOM樹中時(shí)使元素自動(dòng)獲取焦點(diǎn)。其中,el參數(shù)代表了指令作用的元素,也就是我們綁定這個(gè)指令的那個(gè)輸入框。
這樣,每次頁面加載完畢后,該輸入框就會(huì)自動(dòng)獲取焦點(diǎn),并且我們可以在其他元素上同樣地使用v-autofocus指令以實(shí)現(xiàn)自動(dòng)獲取焦點(diǎn)的功能。