UpdatePickerinput с изменением в pickerinput в Shiny - PullRequest
0 голосов
/ 07 сентября 2018

Я хочу обновить Pickerinput с изменением другого PickerInput. Как я могу сделать это на стороне сервера в Shiny?

1 Ответ

0 голосов
/ 18 сентября 2018

Вы можете использовать функцию observeEvent на стороне сервера для контроля состояния pickerInput # 1, а затем использовать функцию updatePickerInput для обновления pickerInput # 2.

Пожалуйста, смотрите код ниже, который принимает первую букву в pickerInput # 1 и выбирает содержание pickerInput # 2 соответственно:

library("shiny")
library("shinyWidgets")

ui <- fluidPage(
  tags$h2("Update pickerInput"),

  fluidRow(
    column(
      width = 5, offset = 1,
      pickerInput(
        inputId = "p1",
        label = "Starting Letters",
        choices = LETTERS
      )
    ),
    column(
      width = 5,
      pickerInput(
        inputId = "p2",
        label = "Names of Cars",
        choices = ""
      )
    )
  )
)

server <- function(input, output, session) {
  observeEvent(input$p1, {
    updatePickerInput(session = session, inputId = "p2",
                      choices = grep(paste0("^",input$p1), rownames(mtcars), value = TRUE))

  }, ignoreInit = TRUE)
}

shinyApp(ui = ui, server = server)
}

Выход: example

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...