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

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

相关推荐
wuxia211820 小时前
微信小程序单击元素切换元素的显示和隐藏
javascript·微信小程序·setdata
一起学开源20 小时前
一文读懂 ReAct 范式:让 AI Agent 真正学会“思考+行动“
java·javascript·react.js·ecmascript·react·alibaba·智能体开发
岁月宁静1 天前
驾驭 AI 这匹野马:深入解析智能体 Harness 工程
vue.js·python
游九尘1 天前
JavaScript 实现三段式版本号对比函数(app升级用)
javascript·uni-app
zhiSiBuYu05171 天前
Claude-Code 新手极速上手指南
javascript·node.js
罗超驿1 天前
18.Web API 实战:元素与表单属性的获取和修改
开发语言·前端·javascript
山河已无恙1 天前
BPF-eBPF 开发路线二:libbpf、CO-RE 与 libbpf-bootstrap认知
javascript·bootstrap·php
ZengLiangYi1 天前
React Query + REST API 最佳实践
javascript·后端·react.js
ZengLiangYi1 天前
Fastify 加 Electron:把 Web 服务嵌进桌面应用
前端·javascript·后端
qq_2518364571 天前
基于nodejs express +vue 天天商城系统设计与实现 (源码 文档)
前端·vue.js·express