Vue: Selección de rupturas del modelo v

Creado en 3 jun. 2016  ·  7Comentarios  ·  Fuente: vuejs/vue

Versión de Vue.js

1.0.24

Enlace de reproducción

https://github.com/kucherenkovova/piano/tree/BUG-report-vue
vaya a la carpeta de demostración y abra index.html

pasos para reproducir

Ingrese algo en el campo de entrada Email layout .
Coloca el cursor en medio de tu texto.
Presione la tecla de retroceso en el teclado virtual.

¿Lo que es esperado?

El texto se eliminará en la posición del cursor.

¿Qué está pasando realmente?

El texto se quita del final de la cadena. selectionStart atributo es cambiado de alguna manera por Vue.js

PD: Puedes probarlo en otros elementos de entrada que no tengan v-model Todo funcionará bien.

bug

Comentario más útil

No tuve internet ayer 😢 espero poder hacerlo esta noche

Todos 7 comentarios

¡Hola!

Gracias por presentar el problema 😄. Siga las Pautas para la notificación de problemas y proporcione un JSFiddle o JSBin mínimo que contenga un conjunto de pasos reproducibles que pueden conducir al comportamiento que describió.

Cloné tu repositorio y lo probé en Chrome, funciona bien. La próxima vez proporcione una reproducción simple. La gente no puede revisar toda su solicitud para ayudar ...

Gracias por la respuesta. Pronto proporcionaré un enlace de gh-pages. Es imposible reproducir el error en codepen o jsfiddle debido a la naturaleza de Piano.js.

Ya veo, en ese caso puede deberse a Piano.js. Sería genial si pudieras crear una reproducción sin pianojs 👍

@posva ¡ Hola de nuevo! Aquí hay un codepen con repro
Pasos para reproducir:

  1. Insertar texto en la primera entrada
  2. Selecciona un texto
  3. Haga clic en un botón cerca de su entrada

¡En espera de su respuesta!

¡Gracias! Encontré el error. La actualización restablece esos valores, por lo que almacenarlos en caché aquí y llevarlos allí realmente resuelve el problema. Sin embargo, no estoy seguro de cómo probar esto. Puede que tenga que escribir una prueba e2e

PD: haré esto mañana, me voy a dormir 😴

No tuve internet ayer 😢 espero poder hacerlo esta noche

Finalmente recuperé Internet. Tengo problemas para crear una prueba que se rompe como prueba unitaria. Lo intentaré de nuevo hoy con una prueba e2e, aunque es una exageración. Llamar al método de desenfoque en la entrada no se comporta de la misma manera que en realidad.
La solución que se me ocurrió no es establecer el valor de entrada si no ha cambiado en el desenfoque. Básicamente está agregando _toString(self._watcher.value) !== el.value a las condiciones aquí

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