我想使用类似navbarPage的系统,以便在shinyApp的当前显示页面中向下滚动。
这个想法是你在navbarPage的给定tabPanel()
上clic,而锚点会将你带到页面的给定部分。我编写了下面的代码,但是最顶层的tabPanel()
仍有一部分可以带你到下一个面板(见图)。
还有其他简单方法吗?或者有没有办法删除剩余的标签?
library(shiny)
ui <- shinyUI(fluidPage(
navbarPage("",
tabPanel(HTML("<a href='#plot3'>Home</a> "),
verbatimTextOutput("Home"),
tableOutput("cars"),
plotOutput('plot'),
plotOutput('plot2'),
plotOutput('plot3')),
tabPanel(HTML("<a href='#cars'>Test1</a> ")),
tabPanel(HTML("<a href='#plot'>Test2</a> ")),
tabPanel(HTML("<a href='#plot2'>Test3</a> ")),
tabPanel(HTML("<a href='#plot3'>Test4</a> "))
)))
server <- function(input, output) {
output$cars <- renderPrint({summary(mtcars)})
output$plot <- renderPlot({plot(mtcars$mpg)})
output$plot2 <- renderPlot({plot(mtcars$cyl)})
output$plot3 <- renderPlot({plot(mtcars$hp)})
}
# Run the application
shinyApp(ui = ui, server = server)
编辑:我终于找到了办法。
# Create the navbar
HTML('<nav class="navbar navbar-default navbar-static-top" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<span class="navbar-brand">Vincent Hahaut</span>
</div>'),
# Add a button with the anchor to "plot"
HTML('<ul class="nav navbar-nav">
<li class="active">
<a href="#plot">Home</a>
</ul>')