【发布时间】:2019-04-01 18:35:38
【问题描述】:
我有一个闪亮的应用程序,我想在其中使用操作按钮添加一个 UI 元素,然后让插入的 ui 是动态的。
这是我当前的 ui 文件:
library(shiny)
shinyUI(fluidPage(
div(id="placeholder"),
actionButton("addLine", "Add Line")
))
和服务器文件:
library(shiny)
shinyServer(function(input, output) {
observeEvent(input$addLine, {
num <- input$addLine
id <- paste0("ind", num)
insertUI(
selector="#placeholder",
where="beforeBegin",
ui={
fluidRow(column(3, selectInput(paste0("selected", id), label=NULL, choices=c("choice1", "choice2"))))
})
})
})
如果在特定的 ui 元素中选择了choice1,我想在行中添加一个textInput。如果在 ui 元素中选择了choice2,我想添加一个numericInput。
虽然我通常了解如何创建响应用户输入而变化的反应性值,但我不知道在这里做什么,因为我不知道如何观察尚未创建的元素,而且我不知道知道的名字。任何帮助将不胜感激!
【问题讨论】: