this.$nextTick(function() {
console.log(this.$refs.inputRef)
this.$refs.inputRef.focus();
});
this.$refs.inputRef 是可以获取到值的 但是focus() 方法不生效
去掉fixed 后方法是可以生效的
this.$nextTick(function() {
console.log(this.$refs.inputRef)
this.$refs.inputRef.focus();
});
this.$refs.inputRef 是可以获取到值的 但是focus() 方法不生效
去掉fixed 后方法是可以生效的
可以使用id来进行处理,不受fixed影响
如果是多个, 可以在el-input上根据下标 动态绑定 :id="'自定义名称'+ scope.$index"
this.$nextTick(() => {
document.getElementById('自定义名称' + 对应下标).focus();
})
4 回答4.6k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
3 回答5k 阅读
5 回答1.1k 阅读✓ 已解决
不是很了解 element-UI。
遇到这种问题我一般会试着用一个
setTimeout(f, 10000)
这样的定时器替换$nextTick()
,看是不是有一些框架定时器之类的在起作用;或者直接在命令行里找到这个<input>
,然后input.focus()
看能否获取焦点。排除这两个问题之后,再研究为什么fixed
会导致目前的问题。当然你也可以直接看源码。