问题描述:点击编辑按钮,出现el-input框(el-input显示隐藏通过v-if控制)
<el-input ref="inputRef" v-if="isEdit" v-model="modelName" @blur="isEdit = false" />
<el-button text class="btn-wrapper" v-show="!isEdit"><svg-icon @click="editModelName" icon-class="edit" />
</el-button>
const isEdit=ref(false)
const inputRef=ref(null)//编辑模型名称
const editModelName = () => {isEdit.value = true;inputRef.value.focus();
};
解决方法:方法1:添加nextTick函数,因为使用了v-if执行;
nextTick(() => {editModelNameRef.value.focus();});
方法2:v-if替换为v-show
道理简单,却总是容易忽略,警戒!