【发布时间】:2020-07-27 10:49:15
【问题描述】:
我准备了一个小提琴:https://jsfiddle.net/frvuw35k/
<div id="app">
<h2>Vue Event Test</h2>
<form @submit.prevent>
<div class="form-group row">
<div class="col-sm-12 input-group">
<input v-model="search" class="form-control" placeholder="Search users by Display Name"
@keyup.enter="doSearch">
<div class="input-group-append">
<button class="btn btn-primary" :disabled="!search" type="button"
@click.prevent="doSearch">
Search
</button>
</div>
</div>
</div>
<div class="form-group row">
<div class="col-12">
<button v-if="showButton" class="btn btn-info"
@click.prevent="doSthElse">Do something else</button>
</div>
</div>
</form>
</div>
new Vue({
el: "#app",
data: {
search: null,
showButton: false
},
methods: {
doSearch: function(){
console.log('do search:', this.search)
this.showButton = true
},
doSthElse: function(){
console.log('do something else')
}
}
})
这模拟了我在 Vue 应用程序中遇到的问题。
还有第二个按钮,当满足条件时显示。此条件是搜索的结果,通过在输入上按 Enter 键触发。
在满足条件后第二次输入时,如果单击其他地方并将焦点重新放在输入上,则触发第二个按钮...
我不明白原因,也没有找到避免它的方法。
【问题讨论】:
标签: javascript vue.js