這個(gè)問題既绩,試過了很多種辦法概龄,比如一開始的使用autofocus屬性还惠、到后來使用ref指令饲握,然后通過this.$refs.inputBox.focus(),再者后來的自定義指令然后在input元素上使用v-focus蚕键,但是救欧,這些辦法都是不行的(這里可能是因?yàn)槲易约簩戝e(cuò)了
)。查找原因锣光,終于知道原來是因?yàn)閕os的安全機(jī)制問題笆怠,它需要用戶點(diǎn)擊才能觸發(fā)聚焦。(這是一大坑)
那怎么解決呢:誊爹?蹬刷??
那就是除非給用戶一個(gè)類似按鈕的地方频丘,讓用戶點(diǎn)擊后使用js觸發(fā)焦點(diǎn)办成。(那應(yīng)該首頁與搜索頁的頁面是在同一個(gè)頁面,而不是兩個(gè)頁面)
今天看vue官方文檔搂漠,看到了這個(gè)問題得解決辦法
directives: {
focus: {
// 指令的定義, 當(dāng)被綁定的元素插入到 DOM 中時(shí)……
inserted: function (el) {
el.focus()
}
}
}
<input v-focus>