如何在闪亮R中的bs4仪表板中从一个选项卡面板转到另一个选项卡面板

时间:2019-10-15 02:15:16

标签: r shiny

我想使用updatebs4TabSetPanel()使用bs4TabSetPanel中的单选按钮更新选项卡面板。我已经在闪亮的仪表板上完成了多次,但是无法在bs4Dash中完成。我正在上传示例代码。任何帮助将不胜感激。

library(shiny)
library(shinydashboard)

home<-bs4TabSetPanel(
  id = "tabset1",
  side = "left",

  bs4TabPanel(
    tabName = "Tab 1",
    active = TRUE,
    fluidRow(
      box(radioButtons("abc", label = "Please select an option", 
                       choices = c("Go to tab 2" = "G2", "Go to tab 3" = "G3"), selected = character()))
    )
  ),
  bs4TabPanel(
    tabName = "Tab 2",
    active = FALSE,
    fluidRow(
      h1("Welcome to tab 2")
    )
  ),
  bs4TabPanel(
    tabName = "Tab 3",
    active = FALSE,
    fluidRow(
      h1("Welcome to tab 3")
    )
  )
)

ui<- bs4DashPage(
  navbar = bs4DashNavbar(),
  sidebar = bs4DashSidebar(),
  controlbar = bs4DashControlbar(),
  footer = bs4DashFooter(),
  title = "test",
  body = bs4DashBody(
    home
  )
)

server<- function(input, output, session){
  observeEvent(input$abc,{
    if (input$abc == "G2"){
      updatebs4TabSetPanel(session, "tabset1", selected = "Tab 2")
    } else{
      updatebs4TabSetPanel(session, "tabset1", selected = "Tab 3")
    } 
  })
}

shinyApp(ui,server)

1 个答案:

答案 0 :(得分:0)

在bs4Dash中@Bijurika,您需要使用选项卡的数字位置而不是选项卡名称。

这应该可行,我只是将'selected =“ Tab 2”'更改为'selected = 2'(与“ Tab 3”相同)

true