Vue: Vigilantes computados que no disparan

Creado en 25 jun. 2018  ·  14Comentarios  ·  Fuente: vuejs/vue

Versión

2.5.16

Enlace de reproducción

https://vuejs.org/v2/guide/computed.html#Watchers

pasos para reproducir

Use la demostración para ingresar una pregunta en la página de Documentos con un Kindle de 7 '' de Amazon o una tableta Android (utilicé una versión de Lenovo Tab 3 de 7 '')
https://vuejs.org/v2/guide/computed.html#Watchers

¿Lo que es esperado?

Al escribir en el campo, el valor se evalúa después de tocar cada letra cuando se usa un navegador en una tableta, según las instrucciones de la demostración.

¿Qué está pasando realmente?

No se evalúa nada hasta que se toca la barra espaciadora o se selecciona un signo de interrogación / exclamación en el teclado.


Utilizo esto para crear una lista desplegable de opciones cuando un usuario comienza a escribir en un campo de texto usando una tableta Android específicamente Amazon Fire.
El usuario comienza a escribir y después de ingresar las letras, se muestra la lista.
Después de la actualización, la lista solo se muestra si el usuario toca la barra espaciadora o la tecla Intro en el teclado en pantalla.
Esto funciona como se esperaba cuando se usa un navegador en una computadora.
Probé mi código en Mac usando Safari, Chrome y Firefox y no hay errores en la consola.
En Amazon Fire y funciona como se esperaba en la versión 2.5.13
Actualizando mi VueJS a la versión 2.5.16 y esto deja de funcionar en la tableta y requiere que se toque la tecla de espacio, el signo de exclamación, el signo de interrogación o la tecla Intro para que la evaluación se active / ejecute cuando se usa la tableta.

browser quirks help wanted

Comentario más útil

@zaggy ¡Claro! 😀

Todos 14 comentarios

hola, ¿puedo intentar arreglar esto como mi primer error?

@zaggy ¡Claro! 😀

Solo una suposición, pero ¿sería este problema que se solucionó lo que lo causa? https://github.com/vuejs/vue/pull/7121
No estoy seguro de cómo excluiría eso de una versión para probar.
La razón es que el campo del formulario no se procesa hasta que se presiona un 'botón' como Enter, mientras que antes se procesaba el contenido tan pronto como cambiaba.

¿Cuál es el estado de esto?

El problema aún permanece.

@zaggy, ¿estás trabajando en eso? si no, me gustaría recoger esto! 🙂

¿Esto sigue siendo un problema?

Sí lo es. Estoy usando la página de ayuda / página de demostración estándar en un Kindle Fire y debe tocar la tecla Intro al escribir letras antes de realizar la verificación. Un signo de interrogación o un signo de exclamación después de una palabra activa el cheque de la misma manera que presionar la tecla Intro.

Solo una nota: esto puede tener que ver con v-model previene las actualizaciones temporales durante una composición (lo cual es necesario para algunos métodos de entrada, por ejemplo, chino), y algunos dispositivos pueden estar activando eventos de composición incluso para teclados ingleses normales. Dicho esto, no tengo un Kindle Fire, por lo que me resulta difícil reproducirlo.

Podría replicar también en un Lenovo Tab 3. En ambos, tengo el corrector ortográfico / sugerencias desactivados en la posibilidad de que ayudaría, pero no es así.

@zaggy ¿

¿Existe este problema para todos los dispositivos Android? (Estoy usando un emulador en línea que se ejecuta en CentOS, y funciona un poco bien, aunque realmente no contaría con los resultados dados por los emuladores)

Está bien en un antiguo dispositivo Android 5 con el que probé, pero el Kindle Fires tiene el problema. Incluso con todas las opciones de ortografía desactivadas, hay un subrayado en el texto que escribe en el campo. Una vez que presiona la barra espaciadora o ingresa esa línea va y luego se dispara el evento y en mi caso se muestra el menú desplegable.

¿Es esto reproducible con la emulación de Android? Si es así, sería un error divertido trabajar en él. Tuve un problema similar con una solicitud de trabajo.

¿Fue útil esta página
0 / 5 - 0 calificaciones