Shiny selectizeInput установить выбранное значение с опцией - PullRequest
1 голос
/ 14 апреля 2020

У меня есть настроенный selectizeInput, где я указываю доступные варианты, используя аргумент параметров (чтобы иметь пользовательский рендеринг и поиск, который в примере опущен для простоты). Теперь я застрял на простой задаче установки выбранного значения. Из документации это должно быть возможно с помощью поля items, но я изо всех сил пытаюсь найти правильный способ установить это.

library(shiny)
library(purrr)

choices <- purrr::transpose(list(x = letters[1:5],
                                 y = LETTERS[1:5]))

ui <- fluidPage(
  selectizeInput("select", 'Select', choices = "",
                 selected = "",
                 options = list(
                   valueField = 'x',
                   labelField = 'y',
                   items = choices[[1]],
                   options = choices
                 ))
)

shinyApp(ui, function(input, output, session) {})

1 Ответ

1 голос
/ 15 апреля 2020

Там может быть лучший вариант, но, похоже, это работает. Добавьте следующее в options:

onInitialize = I('function() { this.setValue("a"); }')

И посмотрите selectize пример в галерее shiny в разделе «6. Заполнитель»:

https://shiny.rstudio.com/gallery/selectize-examples.html

ui <- fluidPage(
  selectizeInput("select", 'Select', choices = "",
                 selected = "",
                 options = list(
                   valueField = 'x',
                   labelField = 'y',
                   #items = choices[[1]],
                   onInitialize = I('function() { this.setValue("a"); }'),
                   options = choices
                 ))
)
...