Vue: modelo v quebra a seleção; início

Criado em 3 jun. 2016  ·  7Comentários  ·  Fonte: vuejs/vue

Versão Vue.js

1.0.24

Link de reprodução

https://github.com/kucherenkovova/piano/tree/BUG-report-vue
vá para a pasta demo e abra index.html

Passos para reproduzir

Insira algo no campo de entrada Email layout .
Coloque o cursor no meio do seu texto.
Pressione backspace no teclado virtual.

O que é esperado?

O texto será removido na posição do cursor.

O que realmente está acontecendo?

O texto é removido do final da string. selectionStart atributo

PS Você pode testá-lo em outros elementos de entrada que não tenham v-model .

bug

Comentários muito úteis

Eu não tive internet ontem hope Espero poder fazer isso esta noite

Todos 7 comentários

Olá!

Obrigado por registrar o problema 😄. Siga as Diretrizes para relatórios de problemas e forneça um JSFiddle ou JSBin mínimo contendo um conjunto de etapas reproduzíveis que podem levar ao comportamento que você descreveu.

Clonei seu repo e testei no Chrome, ele funciona bem. Da próxima vez, forneça uma reprodução simples. As pessoas não podem passar por todo o seu aplicativo para ajudar ...

Obrigado pelo feedback. Fornecerei um link de páginas gh em breve. É impossível reproduzir o bug no codepen ou jsfiddle devido à natureza do Piano.js.

Entendo, nesse caso pode ser devido a Piano.js. Seria ótimo se você pudesse criar uma reprodução sem pianojs 👍

@posva Oi de novo! Aqui está um codepen com repro
Passos para reproduzir:

  1. Insira o texto na primeira entrada
  2. Selecione algum texto
  3. Clique em um botão próximo à sua entrada

Aguardo ansiosamente a sua resposta!

Obrigado! Eu encontrei o bug. A atualização redefine esses valores, portanto, armazená-los em cache aqui e levá-los de volta resolve o problema. Não tenho certeza sobre como testar isso. Posso ter que escrever um teste e2e

PS: Vou fazer isso amanhã, vou dormir 😴

Eu não tive internet ontem hope Espero poder fazer isso esta noite

Finalmente consegui a internet de volta. Estou tendo problemas para criar um teste que não funcione como um teste de unidade. Vou tentar novamente hoje com um teste e2e, embora seja um exagero. Chamar o método de desfoque na entrada não se comporta da mesma maneira que na verdade.
A correção que sugeri não é definir o valor de entrada se ele não mudou no desfoque. Basicamente, está adicionando _toString(self._watcher.value) !== el.value às condições aqui

Esta página foi útil?
0 / 5 - 0 avaliações