new Vue({
el: '#app',
data: {
\t selected: null,
\t typeahead: null,
states: ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',
'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii',
'New Jersey', 'New Mexico', 'New York', 'North Carolina', 'North Dakota',
'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island',
'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana',
'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota',
'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire',
'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont',
'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming']
},
computed:{
filteredStates(){
return this.states.filter(s => s.toLowerCase().includes(this.typeahead.toLowerCase()))
}
},
methods: {
\t select: function(state){
\t this.typeahead = state
this.selected = state
},
input: function(){
\t this.selected = null
}
}
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.6/vue.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div id="app">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="q" autofocus v-model="typeahead" @input="input">
<span class="input-group-btn">
<button class="btn btn-default" type="submit" ref="submitButton"><span class="fa fa-search"></span></button>
</span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<ul v-if="!selected && typeahead">
<li v-for="state in filteredStates" @click="select(state)">{{ state }}</li>
</ul>
</div>
</div>
</div>
Google에 입력하는 동안'vue js autocomplete'의 철자가'macbook'으로 생각됩니다. – Nisarg
@Nisarg Shah, 죄송합니다. 제 영어가 충분하지 않습니다. 그러나 본질적으로 Google 자동 완성보기처럼 내 자동 완성보기를 원합니다. –
Google에서 검색해야한다고 제안했습니다. 이러한 기능을 지원하는 라이브러리가 많이 있습니다. – Nisarg