R 闪亮的仪表板通过子菜单项读取数据库
我正在制作的闪亮应用程序在仪表板侧栏中有多个子菜单项。我想将这些菜单项链接到数据库。用户界面代码如下所示:R 闪亮的仪表板通过子菜单项读取数据库,r,shiny,submenu,dashboard,R,Shiny,Submenu,Dashboard,我正在制作的闪亮应用程序在仪表板侧栏中有多个子菜单项。我想将这些菜单项链接到数据库。用户界面代码如下所示: dashboardSidebar( width = 150, sidebarMenu( menuItem("By States", menuSubItem("AP", tabName = "AP"),
dashboardSidebar(
width = 150,
sidebarMenu(
menuItem("By States",
menuSubItem("AP", tabName = "AP"),
menuSubItem("ANP", tabName = "ANP"),
menuSubItem("BIH", tabName = "BIH"),
menuSubItem("TN", tabName = "TN")
)
),
sidebarMenu(
menuItem("Charts",
menuSubItem("AP", tabName = "APC"),
menuSubItem("Anp", tabName = "ANPC")
))
),
dashboardSidebar(
width = 150,
sidebarMenu(id = "tabs",
menuItem("AP", tabName = "AP"),
menuItem("ANP", tabName = "ANP"),
menuItem("BIH", tabName = "BIH"),
menuItem("TN", tabName = "TN")
),
sidebarMenu(id = "charts",
menuItem("AP", tabName = "APC"),
menuItem("Anp", tabName = "ANPC")
)
),
我已尝试使用服务器中的以下代码将这些子菜单项中的每个附加到数据库
datasetInput <- reactive({
if (input$AP == "AP"){
"AP" = readRDS("data/AP.rds")
} else if (input$BIH == "BIH") {
"BIH" = readRDS("data/Bih.rds")
} else if (input$ANP == "ANP") {
"ANP" = readRDS("data/Anp.rds")
} else if (input$TN == "TN") {
"TN" = readRDS("data/tnd.rds")
}
})
如何将menuSubItem链接到数据库?我尝试了以下方法,效果很好,但我无法获得每个菜单下的子项
工作正常的代码如下所示:
dashboardSidebar(
width = 150,
sidebarMenu(
menuItem("By States",
menuSubItem("AP", tabName = "AP"),
menuSubItem("ANP", tabName = "ANP"),
menuSubItem("BIH", tabName = "BIH"),
menuSubItem("TN", tabName = "TN")
)
),
sidebarMenu(
menuItem("Charts",
menuSubItem("AP", tabName = "APC"),
menuSubItem("Anp", tabName = "ANPC")
))
),
dashboardSidebar(
width = 150,
sidebarMenu(id = "tabs",
menuItem("AP", tabName = "AP"),
menuItem("ANP", tabName = "ANP"),
menuItem("BIH", tabName = "BIH"),
menuItem("TN", tabName = "TN")
),
sidebarMenu(id = "charts",
menuItem("AP", tabName = "APC"),
menuItem("Anp", tabName = "ANPC")
)
),
和服务器代码:
datasetInput <- reactive({
switch(input$tabs,
"AP" = readRDS("data/AP.rds"),
"BIH" = readRDS("data/Bih.rds"),
"ANP" = readRDS("data/Anp.rds"),
"TN" = readRDS("data/tnd.rds")
)
})
datasetInput我认为您已经找到了解决方案,但是,要有子菜单:
dashboardSidebar(
width = 150,
sidebarMenu(id = "mysidebar",
menuItem("Tabs",
menuSubItem("ANP", tabName = "ANP"),
menuSubItem(""BIH", tabName = "BIH""),
menuSubItem("TN", tabName = "TN")),
menuItem("Charts",
menuSubItem("AP", tabName = "APC"),
menuSubItem("Anp", tabName = "ANPC"))
),
...
然后,您可以使用:input$mysidebar访问所选项目。哪些可能的值是:“ANP”、“BIH”等您可以使上述代码重现吗?