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")
}