vue render el-table,列使用fixed。点击单元格动态切换input,input获取焦点方法失效 求大佬指导

this.$nextTick(function() {
    console.log(this.$refs.inputRef)
    this.$refs.inputRef.focus();
});

this.$refs.inputRef 是可以获取到值的 但是focus() 方法不生效
去掉fixed 后方法是可以生效的

阅读 4k
3 个回答

不是很了解 element-UI。

遇到这种问题我一般会试着用一个 setTimeout(f, 10000) 这样的定时器替换 $nextTick(),看是不是有一些框架定时器之类的在起作用;或者直接在命令行里找到这个 <input>,然后 input.focus() 看能否获取焦点。排除这两个问题之后,再研究为什么 fixed 会导致目前的问题。

当然你也可以直接看源码。

可以使用id来进行处理,不受fixed影响
如果是多个, 可以在el-input上根据下标 动态绑定 :id="'自定义名称'+ scope.$index"

this.$nextTick(() => {
     document.getElementById('自定义名称' + 对应下标).focus();
 })
新手上路,请多包涵

已解决: 通过设置自定义v-focus指令,编辑时可自动获取焦点

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题