R 如何动态生成闪亮的侧边栏面板内容?

R 如何动态生成闪亮的侧边栏面板内容?,r,shiny,shiny-server,R,Shiny,Shiny Server,我正在尝试创建一个应用程序,用户最初会看到一个侧栏selectInput,其中包含一个选项列表:a、B、C和D–由文件系统内容填充 根据用户选择的选项,我想用选项特定的内容填充边栏的其余部分。例如,如果用户选择“A”,则侧边栏将包含额外的selectInput和dateRangeInput 为了保持代码干净,我将所有特定于“A”的代码都保存在handle\u A.R中,等等。这意味着最终当我决定添加一个新选项“E”时,我只需要将所有代码放在handle\u E.R中 ui.R pageWithS

我正在尝试创建一个应用程序,用户最初会看到一个侧栏
selectInput
,其中包含一个选项列表:a、B、C和D–由文件系统内容填充

根据用户选择的选项,我想用选项特定的内容填充边栏的其余部分。例如,如果用户选择“A”,则侧边栏将包含额外的
selectInput
dateRangeInput

为了保持代码干净,我将所有特定于“A”的代码都保存在
handle\u A.R
中,等等。这意味着最终当我决定添加一个新选项“E”时,我只需要将所有代码放在
handle\u E.R

ui.R

pageWithSidebar(
  headerPanel("Test"),
  sidebarPanel(
    selectizeInput("choice", "Choice:", c()),
    uiOutput("sidebar")
  ),
  mainPanel(uiOutput("main"))
)
sidebarRenderer[["A"]] <<- function(input, output, session) {
  selectInput("day", "Day:", c("Mon", "Wed", "Fri"))
  dates <- getDateList(input$day)
  dateRangeInput("date", "Date:", start=dates[0], end=dates[length(dates)])
  if (hasPublicHoliday(dates))
    checkboxInput("ignoreHolidays", "Ignore public holidays")
}
服务器.R(相关位)

因此,我想要的是自动更新
dateRangeInput
,以计算相应的周一/周三/周五的开始和结束日期。此外,如果任何日期包含公共假日,我想显示一个额外的复选框,让用户忽略公共假日


如果有人能帮我,我将不胜感激

事实证明,我所需要的只是将逻辑放入
观察
并调用
updateCheckBoxInput

能否将完整的、可运行的应用程序作为要点?我不理解您描述的应用程序的体系结构。谢谢Jeff,但我通过
observe
updateCheckboxInput
找到了它。
sidebarRenderer[["A"]] <<- function(input, output, session) {
  selectInput("day", "Day:", c("Mon", "Wed", "Fri"))
  dates <- getDateList(input$day)
  dateRangeInput("date", "Date:", start=dates[0], end=dates[length(dates)])
  if (hasPublicHoliday(dates))
    checkboxInput("ignoreHolidays", "Ignore public holidays")
}