Quiero borrar la entrada cuando presiono la tecla ESC, el error que tengo es cuando presiono la tecla ESC la primera vez, la entrada no se borra, pero cuando presiono ESC por segunda vez, se borra
Cuando muestro en la consola el valor de la entrada después de presionar por primera vez, está vacío pero no en la interfaz de usuario
Aquí está el pequeño fragmento de código que modifica la tecla ESC:
html:
<input type="text" :name="context.name" :id="context.id" v-model="context.model" @blur="context.blurHandler" @keyup="getSuggestions" autocomplete="no" class="mc-text-input" ref="autocompleteInput" />Y el evento ESC:
case 27: { console.log('Before : ' + this.$refs.autocompleteInput.value) this.$refs.autocompleteInput.value = '' console.log('After : ' + this.$refs.autocompleteInput.value) this.resetAutocompleteElt() // hide the autocomplete list break }Necesito forzar la primera pulsación ESC para borrar esta entrada
v-model utiliza un enlace bidireccional, por lo que debe actualizar context.model en lugar de intentar actualizar el valor del elemento directamente, ya que es probable que esto esté causando su problema.
es decir, suponiendo que tenga acceso a context.model en su función que maneja el evento.
Reemplazar:
this.$refs.autocompleteInput.value = ''con:
this.context.model = '';