使用 Shiny 中的按钮重定向到选项卡

wba*_*ans 5 redirect r shiny

编辑:在互联网上找到的用于 updateTabsetPanel 的代码

我想在我的 Shiny 应用程序中实现一个重定向按钮,但我以前从未这样做过,我也没有在互联网/论坛上找到任何可以引导我走向正确方向的信息。

基本上我想要做的是以下内容:我有一个“加载数据”选项卡和一个“查看数据”选项卡,在“加载数据”选项卡上,用户可以通过按下按钮“上传”。单击此按钮时,我希望应用程序将用户重定向到“查看数据”选项卡,其中显示数据内容和其他一些信息。

这是 actionButton 所在的 UI.R 代码(调用参数):

wellPanel( 
           actionButton(inputId = "load_file", label = "Upload", icon = con("cloud-upload"))
        )
Run Code Online (Sandbox Code Playgroud)

这是选项卡所在的 UI.R 代码:

tabSubMenuViewData <-
  tabItem("subMenuViewData", 
          conditionalPanel(
            condition = ("input.load_file > 0"),
            tabsetPanel(type = "tab", id = "tabView",             
                tabPanel("View",DT::dataTableOutput("contents_view")),
                tabPanel("Summary", verbatimTextOutput('XSummary')),
                tabPanel("Structure", verbatimTextOutput('XStructure')),
                tabPanel("Describe", verbatimTextOutput("XDescribe")),
                tabPanel("Pivot",rpivotTableOutput("pivot_2"))     
              )                  

          )
  )
Run Code Online (Sandbox Code Playgroud)

在我的 server.R 代码上,我正在考虑这个方向:

observe({
  if (input$load_file > 0)
  updateTabsetPanel(session, "tabView ",selected = "View")
})
Run Code Online (Sandbox Code Playgroud)

欢迎任何正确方向的建议。

亲切的问候

wba*_*ans 6

我的问题的解决方案,基于猪排的输入:

我的 tabSubMenuViewData 指的是以下 UI.R 代码,在那里我设法找到了我需要的参数。

UI.R 代码:

dashboardSidebar <- dashboardSidebar(
sidebarMenu(id = "tabs",
  menuItem(tabName = "menuIntro", text = "Intro", icon = icon("sign-in")),
  menuItem(tabName = "menuManageData", text = "Manage data", icon =  icon("share-alt"),
           menuSubItem(tabName = "subMenuLoadData", text = "Load data", icon = icon("cloud-upload")),
           menuSubItem(tabName = "subMenuTransformData", text = "Transform data", icon = icon("pencil")),
           menuSubItem(tabName = "subMenuViewData", text = "View data", icon = icon("search")),
           menuSubItem(tabName = "subMenuSaveData", text = "Save data", icon = icon("cloud-download")), 
           menuSubItem(tabName = "subMenuRemoveData", text = "Remove data", icon = icon("remove")),
           menuSubItem(tabName = "subMenuHistoryData", text = "History", icon = icon("calendar")) 
  ),
Run Code Online (Sandbox Code Playgroud)

Server.R 代码:

observeEvent(input$load_file, {
  updateTabItems(session, "tabs", "subMenuViewData")
  }
)
Run Code Online (Sandbox Code Playgroud)