Рендеринг uiOutput в блестящий виджет :: dropdownButton - PullRequest
0 голосов
/ 30 августа 2018

У меня есть uiOutput в shinyWidget::dropdownButton. Моя проблема в том, что выходные данные, которые зависят от элемента управления в uiOutput, не отображаются до того, как я нажму кнопку раскрывающегося списка.

library(shiny)
library(shinyWidgets)

ui <- fluidPage(
  dropdownButton(uiOutput("placeholder"), icon = icon("cog")),
  verbatimTextOutput("out")
)

server <- function(input, output) {
   output$placeholder <- renderUI(selectInput("dat", "Select Data:",
                             choices = c("mtcars", "ChickWeight")))
   output$out <- renderPrint(summary(get(req(input$dat))))
}

shinyApp(ui, server)

В этом приложении вы видите, что сводная таблица отображается только после того, как я впервые нажал кнопку раскрывающегося списка. Из реактивного потока, я думаю, это имеет смысл, но я хотел бы знать, как заставить форсировать uiOutput (так, чтобы последующий дословно out мог отрендерить)?

1 Ответ

0 голосов
/ 30 августа 2018

Вы можете сделать так:

server <- function(input, output) {
  output$placeholder <- renderUI(selectInput("dat", "Select Data:",
                                             choices = c("mtcars", "ChickWeight")))
  outputOptions(output, "placeholder", suspendWhenHidden=FALSE)
  output$out <- renderPrint(summary(get(req(input$dat))))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...