为了实现输入框默认获取焦点的过程,我们需要直接操作dom对象,但是这样一来代码会变的不容易读懂,而且,若是很多组件都需要实现该功能,会出现很多的重复代码,所以小菜鸡决定使用vue的自定义指令来实现该功能。
1.首先我们在main.js中定义指令
Vue.directive('focus', {
inserted(el) {
// 聚焦元素
el.querySelector('input').focus()
},
})
2.接着,我们了input组件总调用该指令。
<template>
<el-input
:ref="item.key"
v-model="item.value"
v-focus="item.isEdit"
@blur="handleBlur(item)"
small></el-input>
</template>
ok,这样你就可以在任意input上使用该指令了。