【发布时间】:2018-09-18 07:16:02
【问题描述】:
我在闪亮中使用 renderUI 根据用户的选择创建文本字段。然后用户填写字段,在下面的简化版本中,目标是显示结果。如何从 uiOutput 获取数据?
我认为这个问题的答案会有所帮助:How to get the value in uioutput in ui.R and send it back to server.R? 但它不适用于我的应用。
library(shiny)
ui <- fluidPage(
tabsetPanel(
tabPanel("data", fluid = TRUE,
sidebarLayout(
sidebarPanel(selectInput(inputId = "age2", label = "Select", choices = c("young", "old")),
actionButton("goButton", "Go!"),
uiOutput("variables")),
mainPanel(verbatimTextOutput("print"))))
)
)
server <- function(input, output, session) {
output$variables <- renderUI({
switch(input$age2,
"young" = numericInput("this", "This", value = NULL),
"old" = numericInput("that", "That", value = NULL)
)
})
x <- eventReactive(input$goButton, {
input$variables
})
output$print <- renderText({
x()
})
}
shinyApp(ui = ui, server = server)
【问题讨论】: