您好,登錄后才能下訂單哦!
這篇文章主要介紹了element中如何實現input輸入框自動獲取焦點,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
最近項目中在做表單的時候,需要自動滾動到評論框,并且讓評論框自動聚焦,這就需要手動觸發輸入框的 focus 狀態。
但是,element并不支持autofocus屬性,那就只能通過原生的js效果獲取聚焦效果了
document.getElementById("input").focus();
或者利用vue的ref屬性也可以實現聚焦效果:
原理其實很簡單,Element 已經提供了 focus 方法,但是文檔并沒有寫明如何去調用,下面是在el-input標簽上加入ref屬性,然后在需要的地方直接調用方法就可以了
<el-input v-model="input" placeholder="請輸入內容" ref="input"></el-input>
this.$nextTick(() => { this.$refs.input.focus() })
注意:一個頁面只能有一個聚焦效果
last , vue也支持自定義指令
當頁面加載時,該元素將獲得焦點 (注意:autofocus 在移動版 Safari 上不工作)。事實上,只要你在打開這個頁面后還沒點擊過任何內容,這個輸入框就應當還是處于聚焦狀態。現在讓我們用指令來實現這個功能:
// 注冊一個全局自定義指令 `v-focus` Vue.directive('focus', { // 當被綁定的元素插入到 DOM 中時…… inserted: function (el) { // 聚焦元素 el.focus() // element-ui el.children[0].focus() // 元素有變化,如show或者父元素變化可以加延時或判斷 setTimeout(_ => { el.children[0].focus() }) } })
感謝你能夠認真閱讀完這篇文章,希望小編分享的“element中如何實現input輸入框自動獲取焦點”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。