r Shiny selectinput: предотвращает автоматическое перемещение виджетом selectInput выбранного элемента списка в самую нижнюю часть окна. - PullRequest
0 голосов
/ 29 сентября 2019

в моем приложении 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). Обратите внимание, что этот вектор является реактивной величиной - это, кажется, проблема.

У меня достаточно недвижимости на экране, и поэтому я позволяю пользователю видеть довольно много имен, поэтому я устанавливаю размер= 25.

Итак, когда пользователь хочет выбрать, например, пользователя 50, он должен использовать полосу прокрутки в правой части окна, пока он не найдет пользователя 50 и не выберетпользователь. В результате выбирается пользователь 50 и в окне ввода ввода отображается 25 имен, в результате чего текущий выбранный пользователь (# 50) имеет значение в самом низу окна.

Если пользователь хочет видетьимена еще нескольких пользователей после 50 (например, пользователи 51-65), он / она должен прокрутить дальше вниз. Допустим, пользователь нажимает на другое имя в середине окна (пользователь 60). В этом случае это имя становится выделенным, но сразу же перемещается в самый низ окна виджета ! И имена 61+ больше не видны.

Интересно, можно ли вообще избавиться от того поведения виджета, которое заставляет выбранный элемент в списке всегда появляться в самом низу окна.

Обратите внимание, что эта проблема не существует, когда варианты выбора являются фиксированным списком. Но он возникает, когда варианты являются реактивными значениями.

И дополнительный вопрос: можно ли каким-либо образом позволить пользователю прокручивать список имен в окне с помощью «стрелки вниз» на клавиатуре?

Большое спасибо!

...