我知道这与以前提出的问题非常接近,但是在彻底研究这些示例之后,我还没有找到针对我的特定问题的解决方案。
我有一个闪亮的应用程序,使用具有这种结构的闪亮仪表板(*1)。我可以这样制作下一页或上一页按钮:
next_btn <- actionButton( inputId ="Next1",
label = icon("arrow-right"))
Run Code Online (Sandbox Code Playgroud)
与观察者:
observeEvent(input$Next1, {
updateTabItems(session, "tabs", "NAME")
})
Run Code Online (Sandbox Code Playgroud)
其中 NAME 是选项卡项 ID。这个版本比我发现的使用 switch 和/或简单地导航到 ShinyDashboard 中的特定侧边栏菜单项的示例更简单?
但是,这只能通过特定按钮从 pagename1 切换到 pagename2。
然而,我的应用程序中有 10-20 个 tabItems : ** <<- 我的问题的原因**
提到的方法需要我为每个页面编写一个 actionbutton(next1, ... ac but next 2 , next 3 etc. 1 ,并且为每个页面编写一个单独的观察者。
我想做的是:
1 个名为“NEXTPAGE”的通用操作按钮,带有执行 updateTabItems(session, tabs, "current page +1" 的观察者)
以任何我迷路的方式到当前页面+1。我可以想象创建一个所有选项卡名称的列表参数,在该列表中找到当前选项卡名称,抓住它的位置,例如向上移动一个位置(上一个)或向下移动一个位置(下一个)。但是,除了一些非常费力的手动输入字符串列表之外,我不知道如何获取应用程序中存在的所有 tabItems 的列表变量。
*1 应用程序结构:
library(shiny)
library(shinydashboard)
### create general button here like:
### write a function that looks at …Run Code Online (Sandbox Code Playgroud)