私の r Shiny アプリには、単純な selectinput ウィジェットがあります。
selectInput("select_a_name",
selectize = FALSE,
label = "Select Name",
choices = names_active_reactive$names,
multiple = FALSE,
selected = selected_name,
size = 25)
ユーザーは、名前の長いベクトル (names_active_reactive$names、100 を超える長さ) から 1 つの名前を選択しています。そのベクトルはリアクティブな値であることに注意してください - これが問題のようです。
画面上に十分なスペースがあるので、ユーザーにかなりの数の名前を表示できるようにします。これが、サイズ = 25 に設定する理由です。
そのため、ユーザーがたとえばユーザー 50 を選択したい場合、ユーザー 50 が見つかるまでウィンドウの右側にあるスクロール バーを使用して、そのユーザーを選択する必要があります。その結果、ユーザー 50 が選択され、selectinput ウィンドウに 25 個の名前が表示され、現在選択されているユーザー (#50) がウィンドウの一番下に表示されます。
ユーザーが 50 以降のユーザーの名前 (たとえば、ユーザー 51 ~ 65) を見たい場合は、さらに下にスクロールする必要があります。ユーザーがウィンドウの中央にある別の名前 (ユーザー 60) をクリックしたとします。この場合、その名前が選択されますが、すぐにウィジェット ウィンドウの一番下に移動します。また、61+ の名前は表示されなくなりました。
リスト内の選択された要素が常にウィンドウの一番下に表示されるようにするウィジェットの動作を完全に取り除くことができるのではないかと思います。
選択肢が固定リストの場合、この問題は存在しないことに注意してください。しかし、選択肢が反応的な価値観である場合にそれが現れます。
おまけの質問: ユーザーがキーボードの「下矢印」を使用して、ウィンドウ内の名前のリストを下にスクロールできるようにすることは、どのような方法で可能ですか?
どうもありがとうございました!