为了方便输入,需要自动获取焦点,所以加入了autofocus,但是发现,只有第一个并且第一次点击才起作用。
查了网上的一些文档,说是跟dom的渲染顺序和数据的缓存有点儿关系,至于深层次的原因,还没查到,希望有知道的朋友,不吝告知。
然后使用了Vue提供的自定义指令来解决,还有一点儿需要注意,el-input在页面渲染后,外层是个div,需要拿到里面的input才会有效果。
<el-input v-focus></el-input>
directives: {
// 注册一个局部的自定义指令 v-focus
focus: {
// 指令的定义
inserted: function (el) {
// 聚焦元素
el.querySelector('input').focus()
}
}
},
--------------------- 转自
作者:渡一
来源:CSDN
原文:https://blog.csdn.net/qq_40523572/article/details/83583302
网友评论