React-tags: タグを削除した後、入力のオートフォーカスが失われる

作成日 2020年05月06日  ·  10コメント  ·  ソース: i-like-robots/react-tags

予想される行動

タグを削除した後も入力に集中することを期待しています

現在の動作

追加したタグを削除した後、入力がフォーカスを失っています

再現する手順

問題を再現する手順:

  1. 国を入力してください
  2. ドロップダウンから国を選択します
  3. タグから国を削除します
  4. 入力がオートフォーカスを失う

スクリーンショット

1
2
3

あなたの環境

  • OS:Windows 10.0
  • ブラウザ:Chrome [バージョン81.0.4044.138(公式ビルド)(64ビット)]
  • コンポーネントのバージョン:[5.12.1]
  • Reactバージョン:[16.13.0]
bug

全てのコメント10件

タグから国を削除します

入力が空のときにバックスペースを押すか、タグをクリックしますか?

申し訳ありませんが、タグの閉じるボタンを押してください。 バックスペースで削除すると、オートフォーカスがあります

追加情報@ekinalcarをありがとう。

フォーカスのある要素が破棄されているため、フォーカスはデフォルトでウィンドウに戻ると思います...理想的ではありません! タグに着地したときにフォーカスがどこから来たのかを記録し、タグを外したときにそこに戻す必要があると思います。

迅速な返信ありがとうございます@ i-like-robots

バックスペースを使用したdeleteイベントでは、入力が空(タグなし)の場合でも、ウィンドウではなく同じ入力にフォーカスが置かれます。

こんにちは@ ekinalcar-私はこれを再現することができました。 マウスを使用すると、FirefoxとSafariの両方が期待どおりに一貫して機能することがわかりましたが、Chromeでは、クリックイベントがキャプチャされても、カーソルのフォーカスが失われることがあります。

ただし、キーボードを使用してスペースバーを押してタグを「クリック」すると、フォーカスが常に失われます。これは確かに意図されたものではありません。 うまくいけば、これを修正すると、Chromeの断続的な問題も修正されます。

これをオプションにする方法はあり

@krozettのユースケースについて説明してください。 私が現在実装しているよりも優れたソリューションがあると確信していますが、カーソルが_どこか_便利になることが重要だと思います。 おそらく、 handleDelete/onDeleteコールバックでカーソルを再配置できる条件を追加できます。

@ i-like-robots機能リクエストチケットを作成した方がいいかもしれません。 しかし、基本的に私はモバイルデバイスに固有の動作をしており、ユーザーが入力を押し、オーバーレイを使用してその入力以外のすべてを非表示にし、キーボードとオートコンプリートの候補の画面スペースを確保します。 要素がフォーカスされていない場合、フォーム全体が表示されます。 しかし、タグを削除するとき、ユーザーがタグを削除したいだけで、検索ボックスに入力し続けるつもりがない可能性があるため、入力がオートフォーカスされないようにします。 オートフォーカスにより、入力が「画面支配」モードに戻りますが、これは望ましくありません。 意図的な焦点だけがこれを行うべきです。

それは理にかなっています@ krozett-おそらくより良い解決策は、フォーカスがどこから来たのか( focusin )を記録し、タグが削除されたときにカーソルをそこに戻すことです🤔

@ i-like-robotsとにかく、v6が間もなく登場すると確信しているので、最初にその動作を調べて、そのイベントハンドラーのいずれかが必要なことを実行するかどうかを確認する必要があります。 😉

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

関連する問題

williamsidewalk picture williamsidewalk  ·  4コメント

luciemac picture luciemac  ·  7コメント

yrik picture yrik  ·  10コメント

thienanle picture thienanle  ·  9コメント

filippofilip95 picture filippofilip95  ·  4コメント