new Vue({ el:'#app', data:{ buscar:'', datos:[ 'jazmin', 'Jalisco', 'jamaica', 'jacinto', 'robot', 'racimo', 'tarin', 'majim', ], }, computed:{ opciones(){ let this_ = this, opciones = this_.datos; if(this.buscar){ let buscar = this.buscar.toLowerCase().trim(); opciones = opciones.filter(item => { return item.toLowerCase().indexOf(buscar) == 0; }); } return opciones; } } });
<div id="app"> <input type="text" v-model="buscar"> <select> <option value="opt" v-for="opt in opciones">{{ opt }}</option> </select> <pre>{{ opciones }}</pre> <pre>{{ $data }}</pre> </div>