R shiny:如何根据另一个主actionButton依次生成actionButton

时间:2014-03-04 12:13:19

标签: r shiny

我正在尝试为我的UI生成一些输入,具体取决于actionButton的值。生成textInputs工作正常(请参阅下面的可重现代码),但生成actionButtons似乎很棘手。

以下是代码:

shiny::runApp(
list(
ui = pageWithSidebar(
headerPanel("test"),
sidebarPanel(
actionButton("create","create")
),    
mainPanel(  
uiOutput('the_textInputs'),
uiOutput('the_buttons')
))
, 
server = function(input,output){
observe({
if (input$create == 0) 
return()
isolate({  

output$the_textInputs <- renderText({ #this works nicely
A <- paste0("<input id='A", 1:input$create, "' class='shiny-bound-input' type='text' value=''>")
})

output$the_buttons <- renderUI({ # this does not work properly, probably due to the html commands here below not well specified
B <- paste0("<input id='B", 1:input$create, "' class='btn action-button' type='button' >")
})

})
})

}
))

任何建议或建议都将受到高度赞赏!

干杯

1 个答案:

答案 0 :(得分:2)

renderUI中,您只能使用“返回Shiny标记对象,HTML或此类对象列表的表达式。”

您必须更改output$the_buttons <- renderTextrenderUI函数将字符串转换为HTML:B <- HTML(paste0("<input id='B", 1:input$create, "' class='btn action-button' type='button' >"))