作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试集中输入字段,但出现此错误:
Error in nextTick: "TypeError: Cannot read property 'focus' of undefined"
<span
v-show="!employeeNumberEdit"
@click="toggleEdit(numberEdit)"
v-html="person.number"
/>
<input
v-show="employeeNumberEdit"
ref="number"
>
toggleEdit: function(number){
this.numberEdit = !number;
if (this.numberEdit) {
Vue.nextTick(() => {
this.$refs.number.$el.focus();
})
}
}
我在这里做错了什么?他不知道
this
在回调中?
最佳答案
你的输入框是这样的
<input
v-show="employeeNumberEdit"
ref="employeeNumber"
>
并专注于切换,请这样做
toggleEdit: function(number){
this.numberEdit = !number;
if (this.numberEdit) {
this.$refs.employeeNumber.focus();
}
}
下面是运行代码片段,当您按下切换按钮时,输入框将被聚焦。
new Vue({
el: '#app',
methods:{
toggleEdit: function(number){
this.numberEdit = !number;
this.$refs.employeeNumber.focus();
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<input
ref="employeeNumber"
>
<button @click="toggleEdit">Toggle</button>
</div>
关于javascript - vue对焦输入找不到输入框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63392916/
我是一名优秀的程序员,十分优秀!