【发布时间】:2018-05-04 17:08:55
【问题描述】:
当 span class="before-click" 被点击时,
我想隐藏它,然后输入 class="after-click" 代替显示。
并且显示的输入标签必须集中在焦点上!
问题是当我尝试使用 $refs.afterClick 访问该 DOM 并为其提供 .focus() 时,出现意外错误表明 .focus() 不是函数。
如何解决这个问题?
谢谢。
var myApp = new Vue({
el: '#app',
data: {
onEdit: false,
msg: 'Something in here',
},
methods: {
switchAndFocus() {
if(!this.onEdit) {
this.onEdit = true;
this.$refs.afterClick.focus();
}
},
},
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.3/vue.min.js"></script>
<div id="app">
<span class="before-click" @click="switchAndFocus()" v-show="!onEdit">{{msg}}</span>
<input type="text" class="after-click" ref="afterClick" :value="msg" v-show="onEdit">
</div>
【问题讨论】:
标签: javascript dom vue.js focus refs