对于Shiny来说,我还很陌生,对于正在构建的应用程序,我需要将输入添加到radioButton
选择中。
这是我的radioButton
的代码:
values <- c("Carbs" = "carbs", "Proteins" = "prots", "BMI" = "bmi"),
radioButtons("plotVal", "What value do you want to plot?", choices = values)
我想添加一个输入字段。如果用户找不到正确的选择,则可以输入自己的值。最终结果将是这样的:
您想绘制什么值?
O碳水化合物
O蛋白
O BMI
O [其他...]
[Other ...]选项为textInput
。
我已经在网上搜索并阅读了所有教程,以获取所发现的输入信息,但是我没有发现这种特殊情况。谁能帮我吗?谢谢。
答案 0 :(得分:1)
您可以使用updateRadioButtons
:
library(shiny)
values <- c("Carbs" = "carbs", "Proteins" = "prots", "BMI" = "bmi")
ui <- fluidPage(
radioButtons("plotVal", "What value do you want to plot?", choices = values),
textInput("other", "Type in additional category"),
actionButton("add", "Add category")
)
server <- function(input, output, session) {
observeEvent(input$add, {
req(input$other)
otherVal <- "other"
names(otherVal) <- input$other
updatedValues <- c(values, otherVal)
updateRadioButtons(session, "plotVal", choices = updatedValues)
})
}
shinyApp(ui = ui, server = server)