【发布时间】:2021-10-03 15:18:24
【问题描述】:
我正在尝试根据用户的输入使 shiny::numericInput() 的 value 参数动态化。
下面的两个代码块都将运行,但它们无法设置动态初始值。
块 1:
idOptions <- c("1","2","3")
ui <- shiny::fluidPage(
shiny::selectInput(inputId = "idSelection", "Identification: ", idOptions),
shiny::numericInput("num", "Number associated with id:", value=shiny::verbatimTextOutput("numberOut")),
)
server <- function(input, output) {
df <- data.frame(id = c("1","2","3"), number = c(100,227,7))
output$numberOut <- shiny::renderText({ input$idSelection })
}
shiny::shinyApp(ui, server)
块 2:
idOptions <- c("1","2","3")
ui <- shiny::fluidPage(
shiny::selectInput(inputId = "idSelection", "Identification: ", idOptions),
shiny::numericInput("num", "Number associated with id:", value=shiny::verbatimTextOutput("numberOut")),
)
server <- function(input, output) {
df <- data.frame(id = c("1","2","3"), number = c(100,227,7))
dfReactive <- shiny::reactive({
dataOut <- df %>%
dplyr::filter(., id %in% input$idSelection)
return(dataOut)
})
shiny::observe({
output$numberOut <- shiny::renderText({
return(dfReactive()$number)
})
})
}
shiny::shinyApp(ui, server)
我希望shiny::numericInput 的初始值改变如下:
当用户为标识选择“1”时,初始值为100:
当用户选择“2”标识时,初始值为227:
这背后的想法是根据输入的识别向用户建议一个适当的初始值。
我猜问题可能出在shiny::verbatimTextOutput("numberOut"),但我不知道如何渲染一个简单的数值以传递给shiny::numericInput 的value 参数。
有什么想法吗?
非常感谢。
【问题讨论】:
标签: r dynamic shiny responsive