自定义v-focus指令
使用普通input输入框:
<input v-focus>
directives: {
focus: {
inserted: function (el) {
el.focus();
}
}
}
使用element的el-input:
<el-input v-focus></el-input>
directives: {
focus: {
inserted: function (el) {
el.querySelector('input').focus();
}
}
}
如果el-input是在el-dialog中使用的,只有第一次打开弹窗的时候input才会聚焦,原因是el-dialog的显示隐藏是通过v-show来实现的,而v-focus只有在元素插入时才起作用,所以可以将v-focus配合v-if使用
<el-input v-focus v-if="dialogVisible"></el-input>