Vue: v-модель ломает выбор Начать

Созданный на 3 июн. 2016  ·  7Комментарии  ·  Источник: vuejs/vue

Версия Vue.js

1.0.24

Ссылка на воспроизведение

https://github.com/kucherenkovova/piano/tree/BUG-report-vue
перейдите в демо-папку и откройте index.html

Действия по воспроизведению

Введите что-нибудь в поле ввода Email layout .
Поместите курсор в середину вашего текста.
Нажмите клавишу Backspace на виртуальной клавиатуре.

Что ожидается?

Текст будет удален в позиции курсора.

Что на самом деле происходит?

Текст удаляется с конца строки. Атрибут selectionStart каким-то образом изменен Vue.js

PS Вы можете протестировать его на других элементах ввода, на которых нет v-model Все будет работать нормально.

Самый полезный комментарий

Вчера у меня не было интернета 😢 Надеюсь, что смогу сделать это сегодня вечером

Все 7 Комментарий

Привет!

Спасибо, что подали вопрос 😄. Следуйте Руководству по сообщению о

Я клонировал ваше репо и протестировал его на хроме, он работает хорошо. В следующий раз сделайте простое воспроизведение. Люди не могут пройти через все ваше приложение, чтобы помочь ...

Спасибо за ответ. Я скоро дам ссылку на gh-страницы. Невозможно воспроизвести ошибку в коде или jsfiddle из-за природы Piano.js.

Понятно, в этом случае это может быть из-за Piano.js. Было бы здорово, если бы вы могли создать репродукцию без pianojs

@posva И снова привет! Вот код с репро
Действия по воспроизведению:

  1. Вставить текст в первый ввод
  2. Выберите текст
  3. Нажмите кнопку рядом с вашим вводом

Жду вашего ответа!

Спасибо! Я нашел ошибку. Обновление сбрасывает эти значения, поэтому кеширование их здесь и возврат туда фактически решает проблему. Я не уверен, как это проверить. Возможно, мне придется написать тест e2e

PS: Завтра этим займусь, пойду спать

Вчера у меня не было интернета 😢 Надеюсь, что смогу сделать это сегодня вечером

Наконец-то вернулся интернет. У меня возникли проблемы с созданием теста, который не работает как модульный тест. Я попробую сегодня еще раз с тестом e2e, хотя это перебор. Вызов метода размытия на входе не ведет себя так же, как на самом деле.
Исправление, которое я придумал, не устанавливает входное значение, если оно не изменилось при размытии. По сути, это добавление _toString(self._watcher.value) !== el.value к условиям здесь

Была ли эта страница полезной?
0 / 5 - 0 рейтинги