Tengo un cuadro de entrada simple en una plantilla Vue y me gustaría usar debounce más o menos así:
<input type="text" v-model="filterKey" debounce="500">
Sin embargo, la debounce
propiedad ha quedado en desuso en Vue 2 . La recomendación solo dice: "use v-on: input + función de rebote de terceros".
¿Cómo lo implementas correctamente?
Intenté implementarlo usando lodash , v-on: input y v-model , pero me pregunto si es posible prescindir de la variable adicional.
En plantilla:
<input type="text" v-on:input="debounceInput" v-model="searchInput">
En script:
data: function () {
return {
searchInput: '',
filterKey: ''
}
},
methods: {
debounceInput: _.debounce(function () {
this.filterKey = this.searchInput;
}, 500)
}
La clave de filtro se usa luego en computed
accesorios.