マイビューブレードlaravel:vue.js 2の入力タイプのテキストの値を更新するにはどうすればよいですか?このような
<form slot="search" class="navbar-search" action="{{url('search')}}">
<search-header-view></search-header-view>
</form>
ビューブレードlaravelコールVUE成分(検索ヘッダビュー成分)
マイVUE成分(検索ヘッダビュー成分)このように:
<template>
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="q" autofocus v-model="keyword" :value="keyword">
<span class="input-group-btn">
<button class="btn btn-default" type="submit" ref="submitButton"><span class="fa fa-search"></span></button>
</span>
<ul v-if="!selected && keyword">
<li v-for="state in filteredStates" @click="select(state.name)">{{ state.name }}</li>
</ul>
</div>
</div>
</template>
<script>
export default {
name: 'SearchHeaderView',
components: { DropdownCategory },
data() {
return {
baseUrl: window.Laravel.baseUrl,
keyword: null,
selected: null,
filteredStates: []
}
},
watch: {
keyword(value) {
this.$store.dispatch('getProducts', { q: value })
.then(res => {
this.filteredStates = res.data;
})
}
},
methods: {
select: function(state) {
this.keyword = state
this.selected = state
this.$refs.submitButton.click();
},
input: function() {
this.selected = null
}
}
}
</script>
入力テキストにおけるI入力キーワード「製品」場合、それはオートコンプリートが表示されますが:「製品チェルシー」、「製品リバプール」、「製品の兵器庫」
私は「製品チェルシー」、このようなURLをクリックした場合:http://myshop.dev/search?q=product
万一、このようなURL:http://myshop.dev/search?q=product+chelsea
Iは入力タイプテキストのUDPATE値への入力タイプテキストに:value="keyword"
を追加しましたが、それはありません動作しない
この問題を解決するにはどうすればよいですか?それは作品
methods: {
select: function(state) {
this.keyword = state
this.selected = state
const self = this
setTimeout(function() {
self.$refs.submitButton.click()
}, 1500)
},
...
}
:
アップデートは
私はこのような解決策を見つけることでした。しかし、このソリューションは最高のソリューションですか?それとももっと良い解決策がありますか?
解決策が見つかりました。それは私の更新の質問のようにsetTimeoutを使用します。このソリューションは最善のソリューションですか? –