Vue: v-modelがselectionStartを壊します

作成日 2016年06月03日  ·  7コメント  ·  ソース: vuejs/vue

Vue.jsバージョン

1.0.24

複製リンク

https://github.com/kucherenkovova/piano/tree/BUG-report-vue
デモフォルダに移動し、index.htmlを開きます

再現する手順

Email layout入力フィールドに何かを入力します。
テキストの中央にカーソルを置きます。
仮想キーボードのバックスペースを押します。

何が期待されますか?

テキストはカーソル位置で削除されます。

実際に何が起こっているのですか?

文字列の末尾からテキストが削除されます。 selectionStart属性はVue.jsによって何らかの形で変更されています

PS v-modelがない他の入力要素でテストできます。すべてがうまく機能します。

bug

最も参考になるコメント

昨日はインターネットを利用していませんでした😢今夜はインターネットを利用できるといいのですが

全てのコメント7件

こんにちは!

問題を提出していただきありがとうございます😄。 問題報告ガイドラインに従い、説明した動作につながる可能性のある一連の再現可能な手順を含む最小限のJSFiddleまたはJSBinを提供してください。

私はあなたのレポを複製し、クロムでテストしました、それはうまくいきます。 次回は簡単な再現を提供します。 人々はあなたのアプリケーション全体を調べて助けることはできません...

フィードバックをお寄せいただきありがとうございます。 すぐにgh-pagesリンクを提供します。 Piano.jsの性質上、codepenまたはjsfiddleでバグを再現することは不可能です。

なるほど、その場合はPiano.jsが原因である可能性があります。 あなたがpianojsなしで再現を作成することができればそれは素晴らしいでしょう👍

@posvaこんにちは! これが再現され
再現する手順:

  1. 最初の入力にテキストを挿入します
  2. テキストを選択してください
  3. 入力の近くにあるボタンをクリックします

お返事をお待ちしております!

ありがとう! バグを見つけました。 更新によりこれらの値がリセットされるため、ここにキャッシュして元に戻すと実際に問題が解決します。 ただし、これをテストする方法はわかりません。 私はe2eテストを書かなければならないかもしれません

PS:私は明日これをやって、寝ます😴

昨日はインターネットを利用していませんでした😢今夜はインターネットを利用できるといいのですが

ついにインターネットを取り戻した。 単体テストとして機能しないテストを作成するのに問題があります。 やり過ぎですが、今日はe2eテストでもう一度やり直します。 入力でblurメソッドを呼び出すことは、実際に行うのと同じようには動作しません。
私が思いついた修正は、ぼかしで変更されていない場合、入力値を設定しないことです。 基本的にここの条件に_toString(self._watcher.value) !== el.valueを追加しています

このページは役に立ちましたか?
0 / 5 - 0 評価