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