在闪亮的仪表板github中,我发现可以在标题的右上角创建下拉菜单,但只有3种“类型”(消息,通知和任务)。
https://rstudio.github.io/shinydashboard/structure.html#structure-overview
是否有创建自定义下拉列表的方法?我想制作一个设置下拉菜单,在那里我给用户一些复选框,他们可以用它们来调整仪表板的方式(显示/隐藏内容,过滤数据等)。
答案 0 :(得分:2)
我自定义了三种类型的菜单之一。然后,您可以为项目添加actionItem
(s)。当{true}模拟选择tabSelect
时,sidebarMenuItem
属性。
dropdownActionMenu <- function (..., title=NULL, icon = NULL, .list = NULL, header=NULL) {
items <- c(list(...), .list)
lapply(items, shinydashboard:::tagAssert, type = "li")
type <- "notifications" # TODO créer action + CSS
dropdownClass <- paste0("dropdown ", type, "-menu")
tags$li(class = dropdownClass, a(href = "#", class = "dropdown-toggle",
`data-toggle` = "dropdown", icon, title), tags$ul(class = "dropdown-menu",
if(!is.null(header)) tags$li(class="header",header),
tags$li(tags$ul(class = "menu", items))))
}
actionItem = function (inputId, text, icon = NULL, tabSelect=FALSE) {
if(!is.null(icon)) {
shinydashboard:::tagAssert(icon, type = "i")
icon <- tagAppendAttributes(icon, class = paste0("text-", "success"))
}
if(tabSelect) {
tags$li(a(onclick=paste0("shinyjs.tabSelect('",inputId,"')"),icon,text))
} else {
tags$li(actionLink(inputId,text,icon))
}
}
示例代码
dashboardHeader(
dropdownActionMenu(title="test",
actionItem("mnuFirst","First"),
actionItem("mnuSecond","Second")
)
)
答案 1 :(得分:0)
Shiny Dashboard基于admin LTE。因此,现有的下拉类型是针对管理LTE用例而设计的,这与许多Shiny应用程序的使用情况截然不同。
如果管理员LTE中甚至无法使用某些内容,则在Shiny信息中心中支持的可能性会降低。
针对您的具体问题,您可以some controls in the side bar。另一种可能性是使用the wrench icon in box,这在Shiny中尚未实现。