这个问题,试过了很多种办法,比如一开始的使用autofocus属性、到后来使用ref指令,然后通过this.$refs.inputBox.focus(),再者后来的自定义指令然后在input元素上使用v-focus,但是,这些办法都是不行的(这里可能是因为我自己写错了
)。查找原因,终于知道原来是因为ios的安全机制问题,它需要用户点击才能触发聚焦。(这是一大坑)
那怎么解决呢:???
那就是除非给用户一个类似按钮的地方,让用户点击后使用js触发焦点。(那应该首页与搜索页的页面是在同一个页面,而不是两个页面)
今天看vue官方文档,看到了这个问题得解决办法
directives: {
focus: {
// 指令的定义, 当被绑定的元素插入到 DOM 中时……
inserted: function (el) {
el.focus()
}
}
}
<input v-focus>
网友评论