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

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

相关推荐
riyue66615 小时前
封装 WebSocket 工具类
网络·vue.js·websocket·网络协议·v
weixin_4629019716 小时前
ESP32 LED控制代码解析
javascript
小张会进步16 小时前
数组:二维数组
java·javascript·算法
Dxy123931021616 小时前
js如何把字符串转数字
开发语言·前端·javascript
爱写bug的野原新之助16 小时前
爬虫之补环境:加载原型链
前端·javascript·爬虫
haorooms17 小时前
Promise.try () 完全指南
前端·javascript
kyriewen17 小时前
闭包:那个“赖着不走”的家伙,到底有什么用?
前端·javascript·ecmascript 6
斌味代码17 小时前
el-popover跳转页面不隐藏,el-popover销毁
前端·javascript·vue.js
嫂子的姐夫17 小时前
040-spiderbuf第C8题
javascript·爬虫·python·js逆向·逆向