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

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

相关推荐
光影少年21 分钟前
前端工程化升级
前端·javascript·react.js·前端框架
Hello--_--World27 分钟前
节流 VS 防抖 相关知识点与面试题
前端·javascript
jserTang1 小时前
Claude Code 源码深度解析 - 前言
前端·javascript·后端
hehelm1 小时前
vector模拟实现
前端·javascript·算法
|晴 天|1 小时前
[特殊字符]️ Vue 3项目架构设计:从2200行单文件到24个组件
前端·javascript·vue.js
Ruihong1 小时前
Vue v-html 与 v-text 转 React:VuReact 怎么处理?
vue.js·react.js·面试
Fisschl1 小时前
Vue 封装 Echarts 组件
vue.js
接着奏乐接着舞2 小时前
react redux Toolkit 分组更推荐
前端·javascript·react.js
前端那点事3 小时前
Vue路由跳转全场景实战(Vue2+Vue3适配)| 新手必看
vue.js
凰轮3 小时前
TypeScript 知识点总结
前端·javascript·typescript