Vue: Os observadores computados não disparam

Criado em 25 jun. 2018  ·  14Comentários  ·  Fonte: vuejs/vue

Versão

2.5.16

Link de reprodução

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

Passos para reproduzir

Use a demonstração para inserir uma pergunta na página do Docs usando um Amazon Kindle 7 '' ou Tablet Android (usei uma versão Lenovo Tab 3 7 '')
https://vuejs.org/v2/guide/computed.html#Watchers

O que é esperado?

Ao digitar no campo, o valor é avaliado após cada letra ser tocada ao usar um navegador em um tablet, conforme as instruções de demonstração.

O que realmente está acontecendo?

Nada é avaliado até que a barra de espaço seja pressionada ou um ponto de interrogação / exclamação seja selecionado no teclado.


Eu uso isso para criar uma lista suspensa de opções quando um usuário começa a digitar em um campo de texto usando um tablet Android, especificamente Amazon Fire.
O usuário começa a digitar e depois que as letras são inseridas, a lista é exibida.
Após a atualização, a lista só é exibida se o usuário tocar na barra de espaço ou na tecla Enter do teclado na tela.
Isso funciona conforme o esperado ao usar um navegador em um computador.
Testei meu código no Mac usando Safari, Chrome e Firefox e não há erros no console.
No Amazon Fire e funciona como esperado na versão 2.5.13
Atualizar meu VueJS para a versão 2.5.16 e isso para de funcionar no tablet e requer que a tecla de espaço, ponto de exclamação, ponto de interrogação ou tecla Enter sejam pressionados para que a avaliação seja acionada / executada ao usar o tablet.

browser quirks help wanted

Comentários muito úteis

@zaggy Claro! 😀

Todos 14 comentários

oi, posso tentar consertar isso como meu primeiro bug?

@zaggy Claro! 😀

Apenas um palpite, mas seria esse problema corrigido que causaria isso? https://github.com/vuejs/vue/pull/7121
Não tenho certeza de como eu excluiria isso de uma versão para teste.
A razão é que o campo do formulário não está sendo processado até que um 'botão' como enter seja tocado, enquanto antes ele estava processando o conteúdo assim que mudou.

Qual é a situação disso?

O problema ainda permanece.

@zaggy você está trabalhando nisso? se não eu gostaria de pegar isso! 🙂

isso ainda é um problema?

Sim, ele é. Estou usando a página de ajuda / página de demonstração padrão em um Kindle Fire e você deve tocar na tecla Enter ao digitar as letras antes de fazer a verificação. Um ponto de interrogação ou um ponto de exclamação após uma palavra dispara a verificação da mesma forma que tocar na tecla Enter.

Apenas uma observação que pode ter a ver com v-model impedindo atualizações temporárias durante uma composição (o que é necessário para alguns métodos de entrada, por exemplo, chinês) - e alguns dispositivos podem disparar eventos de composição mesmo para teclados normais em inglês. Dito isso, não tenho um Kindle Fire, por isso é difícil reproduzi-lo.

Eu poderia replicar também em um Lenovo Tab 3. Em ambos, tenho a verificação ortográfica / sugestões desativadas por acaso que ajudaria, mas não ajuda.

@zaggy Você corrigiu seu primeiro bug? Já faz um tempo e ainda estou tendo esse problema.

Este problema existe para todos os dispositivos Android? (Estou usando um emulador online rodando no CentOS e está funcionando bem, embora eu não contasse com os resultados fornecidos pelos emuladores)

Tudo bem em um dispositivo Android 5 antigo com o qual testei, mas o Kindle Fires tem o problema. Mesmo com todas as opções de ortografia desativadas, há um sublinhado no texto digitado no campo. Quando você pressiona a barra de espaço ou entra nessa linha, o evento é disparado e, no meu caso, o menu suspenso é mostrado.

Isso é reproduzível com emulação Android? Em caso afirmativo, seria um bug divertido para trabalhar. Tive um problema semelhante com um pedido de emprego.

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

Questões relacionadas

robertleeplummerjr picture robertleeplummerjr  ·  3Comentários

aviggngyv picture aviggngyv  ·  3Comentários

loki0609 picture loki0609  ·  3Comentários

bfis picture bfis  ·  3Comentários

hiendv picture hiendv  ·  3Comentários