vue3---inputRef.value.focus()报错Cannot read properties of null (reading ‘focus‘)

问题描述:点击编辑按钮,出现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

道理简单,却总是容易忽略,警戒!

相关推荐
用户68026590511913 小时前
如何利用 Endpoint Central 提高企业终端管理效率
javascript·后端·面试
咖啡の猫13 小时前
TypeScript 开发环境搭建
前端·javascript·typescript
是你的小橘呀14 小时前
单页应用路由怎么搞?React Router 从原理到实战全解析!
前端·javascript
风止何安啊14 小时前
Set/Map+Weak三剑客的骚操作:JS 界的 “去重王者” ,“万能钥匙”和“隐形清洁工”
前端·javascript·面试
2501_9444460014 小时前
Flutter&OpenHarmony文本输入组件开发
前端·javascript·flutter
小圣贤君14 小时前
小说地图设计:Canvas 油漆桶工具的实现之旅
vue.js·electron·写作·小说地图·油漆桶
WebRuntime14 小时前
所有64位WinForm应用都是Chromium浏览器(2)
javascript·c#·.net·web
贺今宵14 小时前
2025.electron-vue3-sqlite3使用
前端·javascript·electron
Irene199115 小时前
创建新DOM节点方式总结
javascript·dom
2501_9462338915 小时前
Flutter与OpenHarmony大师详情页面实现
android·javascript·flutter