问题描述
我正在尝试创建一个交互式 UI,它会在用户与其交互时询问更多详细信息。 我添加了一个 bsButton,它应该插入更多输入选项以收集更多详细信息,但该按钮在单击时并未插入 UI。对代码有任何帮助或建议吗?提前致谢。
ui <- shinyUI( #UI
dashboardPage(
fluidPage(
fluidRow(
introBox(
bsButton("pricing_request",#button to insert UI to collect more details
label = "Pricing Request",icon = icon("car-battery"),style = "success")
)))))
#serverpart
server <- function(input,output,session) {
observeEvent(input$pricing_request,{
insertUI(
selector = "#add",where = "afterEnd",ui = Box( #UI to be inserted
bootstrapPage(
div(style="float:right",actionButton("add_request",label = "add option",icon = icon("plus"),style = "arial")),div(style="display:inline-block",textInput(
inputId = "option_1",label = "Option",width = '350px',value = "insert option"))))
)})}
解决方法
通过写作
insertUI(
selector = "#add",where = "afterEnd",......
您请求在 ID 为 add
的 HTML 元素之后添加 UI。但是您的应用程序中没有这样的元素。如果您在应用中的某处添加 div(id = "add")
,那应该可以。