r - 通过使用 navbarPanel() 并隐藏导航栏来构建多页闪亮的应用程序用户端(在 ui.R 中)?
问题描述
我想构建一个多页闪亮的应用程序,我可以控制用户可以看到哪个页面。Dean Attali在这个演示应用程序中做了类似的事情,shinyjs
用于隐藏和显示每个页面。
我想也可以通过使用navbar()
,navlist()
或者tabsetPanel()
,如果可以隐藏导航栏或导航列表来做到这一点。优点是只需通过updateTabsetPanel()
,updateNavbarPage()
或updateNavlistPabel()
, 更新页面,这shinyjs
不再是必需的。
所以我的问题是:如何隐藏 navbarPanel() 的导航栏,例如使用 CSS?
可以在此处找到示例应用程序:https ://shiny.rstudio.com/gallery/navbar-example.html 。我尝试在此示例中包含一些 CSS 来隐藏导航栏,但直到现在我才设法隐藏所有内容(通过将 .navbar 设置为可见性:隐藏)或除导航栏标题之外的所有内容(通过将 .navbar-nav 设置为可见性:隐)。要隐藏的正确元素是什么 - 或者要隐藏的元素和要再次显示的子元素的正确组合是什么?
编辑:正如 Chabo 指出的那样 - 主要问题似乎是当导航栏的可见性设置为隐藏,甚至显示 = 无时,应用程序没有设置活动选项卡,因此没有其他内容显示。
#https://shiny.rstudio.com/gallery/navbar-example.html
library(shiny)
ui<- navbarPage("Navbar!",
tags$head(
#here something is wrong.
# .navbar makes everything invisible
#.navbar-nav makes everything invisible but the navbar-title
tags$style(HTML("
.navbar-nav{
visibility: hidden;
}
")
)
),
tabPanel("Plot",
sidebarLayout(
sidebarPanel(
radioButtons("plotType", "Plot type",
c("Scatter"="p", "Line"="l")
)
),
mainPanel(
plotOutput("plot")
)
)
),
tabPanel("Summary",
verbatimTextOutput("summary")
)
)
server<- function(input, output, session) {
output$plot <- renderPlot({
plot(cars, type=input$plotType)
})
output$summary <- renderPrint({
summary(cars)
})
output$table <- DT::renderDataTable({
DT::datatable(cars)
})
}
shinyApp(ui, server)
解决方案
推荐阅读
- android - Android 约束 - 屏幕外的按钮
- arrays - 格式化图表组中的图表
- javascript - Javascript createElement - 需要用 div 类包装输入文本以进行 CSS 格式化
- beautifulsoup - 如何使用 bs4 解析隐藏在 html 代码中的数据
- c# - 禁用时更改winform datetimepicker的字体颜色
- ios - 安装 pod 后无法访问 pod swift 文件
- discord.js - 检查句子中是否存在单词(Node.js - Discord)
- css - CSS - 使用类先隐藏
- function - 为什么在通过受保护方程定义函数时“解析模式中的错误:x >= y”?
- logstash - logstash 错误:com.mariadb.jdbc.Driver 未加载