如何使用按钮R在导航栏选项卡之间切换闪亮
问题描述:
我需要用户单击一个按钮并将其带到navbarPage
的不同tabPanel
。这是一个简单的应用程序,可以实现这一点。我怎样才能做到这一点?如何使用按钮R在导航栏选项卡之间切换闪亮
ui <- shinyUI(
navbarPage('Test App',
tabPanel('Page 1',
p('This is the first tab'), br(),
actionButton('jumpToP2', 'Jump to Second Tab')
),
tabPanel('Page 2',
p('This is the second tab'),
actionButton('jumpToP1', 'Jump to First Tab')
)
)
)
server <- shinyServer(function(input, output){
observeEvent(input$jumpToP2,{
## Switch active tab to 'Page 2'
})
observeEvent(input$jumpToP1,{
## Switch active tab to 'Page 1'
})
})
shinyApp(ui, server)
答
您可以使用updateTabsetPanel
不同tabPanel
S之间进行切换。请参阅https://shiny.rstudio.com/reference/shiny/latest/updateTabsetPanel.html上的文档和示例代码。以下代码应满足您的要求。
ui <- navbarPage('Test App',id = "inTabset",
tabPanel(title = "Panel 1", value = "panel1",
actionButton('jumpToP2', 'Jump to Secon Tab')),
tabPanel(title = "Panel 2", value = "panel2",
actionButton('jumpToP1', 'Jump to First Tab'))
)
server <- function(input, output, session) {
observeEvent(input$jumpToP2, {
updateTabsetPanel(session, "inTabset",
selected = "panel2")
})
observeEvent(input$jumpToP1, {
updateTabsetPanel(session, "inTabset",
selected = "panel1")
})
}
shinyApp(ui, server)
答
我不敢肯定,这确实为你设计你的U ...最好的方式你知道tabPanel()
将采取行动几乎相同的方式为actionButton()
在这种情况下会?
ui <- navbarPage('Test App',id = "inTabset",
tabPanel(title = "Panel 1", uiOutput("panel1")),
tabPanel(title = "Panel 2", uiOutput("panel2"))
)
server <- function(input, output, session) {
output$panel1 <- renderUI({
#your UI data
})
output$panel2 <- renderUI({
#your UI data
})
}
shinyApp(ui, server)