【发布时间】:2021-06-22 14:00:17
【问题描述】:
我正在尝试在下面的示例中让 2 选择所有过滤器一起工作;该逻辑适用于 1 个过滤器。
##CREATE DATA
Director <- c("dir1", "dir1","dir1", "dir2", "dir2", "dir3", "dir3", "dir3")
Manager <- c("mgr1", "mgr","mgr3", "mgr4", "mgr5", "mgr6", "mgr7", "mgr8")
df <- data.frame(Director, Manager)
df$Sales <- sample(100, size = nrow(df), replace = TRUE)
director_choices = c("All", c(as.character(unique(df$Director))))
manager_choices = c("All", c(as.character(unique(df$Manager))))
ui <- dashboardPage(
# Application title
dashboardHeader(title = "Sales"),
# Sidebar with a slider input
dashboardSidebar(
sidebarMenu(
menuItem("Maps",
tabName = "Maps",
icon = icon("dashboard")),
hr(),
selectInput("Director", "Director", choices = director_choices, multiple = T, selected = "All"),
selectInput("Manager", "Manager", choices = manager_choices, multiple = T)
下面的过滤器可以让我在主管级别进行正确的过滤,我的目标是在经理级别有一个全选过滤器来响应主管过滤器。
server <- function(input, output, session) {
observe({
if("All" %in% input$Director)
selected_choices = Director[-1]
else
selected_choices = input$Director
updateSelectInput(session, "Director", selected = selected_choices)
})
# Run the application
shinyApp(ui = ui, server = server)
【问题讨论】: