在Model或者隐藏的Input框需要自动聚焦的时候,可以给节点加一个ref属性,然后根据ref属性的值,通过this.$refs.refName(你定义的名字).focus()方法来聚焦。
代码
<div>
<div v-if="!row.showInput" @dblclick="setAge(row)">
{{row.age}}
</div>
<Input ref="ageInput" v-model="row.age" v-else @on-blur="submitData(row)"/>
</div>
</div>
这里需要注意,在节点显示之后才能取到 this.$refs.refName,所有加了个定时器
// 修改年龄
setAge(row) {
row.showInput = true;
setTimeout(()=>{
this.$refs.ageInput.focus();
},100)
},