我尝试使用 CSS 样式(适用于按钮)来隐藏以下应用程序的第三个选项卡:
library(shiny)
library(shinydashboard)
library(shinyDashboardPlus)
library(shinyjs)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sidebarMenu(
id = "tabs", # Set an ID for the sidebar menu
menuItem("Tab 1", tabName = "tab1"),
menuItem("Tab 2", tabName = "tab2"),
menuItem("Invisible Tab", tabName = "invisible_tab", style = "visibility: hidden;")
)
),
dashboardBody(
tabItems(
tabItem(
tabName = "tab1",
useShinyjs()
),
tabItem(
tabName = "tab2",
useShinyjs(),
h3("tab2")
),
tabItem(
tabName = "invisible_tab",
h3("Invisible Tab Content")
)
)
)
)
server <- function(input, output, session) {
}
shinyApp(ui, server)
选项卡的内容不显示,但选项卡的标题保留在侧边栏中...如何隐藏它就像不存在一样?
所有
menuItem
都由带有<a>
属性的href
标签定义,该属性被构造为#shiny-tab-[tabName]
,其中tabName
是menuItem
的相应参数。
因此,如果您使用
定义您的
menuItem
menuItem("Invisible Tab", tabName = "invisible_tab")
然后您就可以应用
CSS
a[href = '#shiny-tab-invisible_tab']{
visibility: hidden;
}
用于将其设置为不可见。
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
library(shinyjs)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
tags$head(tags$style(HTML("
a[href = '#shiny-tab-invisible_tab']{
visibility: hidden;
}
"))),
sidebarMenu(
id = "tabs", # Set an ID for the sidebar menu
menuItem("Tab 1", tabName = "tab1"),
menuItem("Tab 2", tabName = "tab2"),
menuItem("Invisible Tab", tabName = "invisible_tab")
)
),
dashboardBody(
tabItems(
tabItem(
tabName = "tab1",
useShinyjs()
),
tabItem(
tabName = "tab2",
useShinyjs(),
h3("tab2")
),
tabItem(
tabName = "invisible_tab",
h3("Invisible Tab Content")
)
)
)
)
server <- function(input, output, session) {
}
shinyApp(ui, server)