我想创建一组复选框,我可以使用renderUI和uiOutput有选择地单独显示/隐藏,并且即使当前没有显示复选框,也可以更改使用updateCheckboxInput的值。
我尝试通过创建一个复选框列表,然后单独显示其中一个,但只显示最后一个。这是我的代码:
server <- function(input, output) {
v = list()
for (i in 1:30){
l = paste0("chk_", i)
v[[i]] <- renderUI(actionButton(l, l))
}
output$chk <- v[[4]]
}
ui <- fluidPage(
uiOutput("chk")
)
shinyApp(ui = ui, server = server)
答案 0 :(得分:2)
看起来你的renderUI
位置错误了。您想要创建一个包含30个复选框列表的renderUI
对象,但您要创建一个renderUI对象列表。在服务器中试试这个:
server <- function(input, output) {
v = list()
for (i in 1:30){
l = paste0("chk_", i)
v[[i]] <- actionButton(l, l)
}
output$chk <- renderUI(v)
}