R shinydashboard菜单项和子项无功输出显示在一个选项卡中
我对R shinydashboard菜单项和子项无功输出显示在一个选项卡中,r,output,shinydashboard,dt,reactive,R,Output,Shinydashboard,Dt,Reactive,我对shinny、shinydashboard和DT相当陌生。我正在尝试构建一个简单的应用程序,从.csv文件加载数据,生成如下: x <- data.table(VAR1 = rnorm(n = 20, mean = 10, sd = 2), VAR2 = rnorm(n = 20, mean = 100, sd = 20), VAR3 = 1:20, VAR4 = 21:40) write.csv(x = x, file = "/tmp/test_data.csv") 我认为您应该按
shinny
、shinydashboard
和DT
相当陌生。我正在尝试构建一个简单的应用程序,从.csv
文件加载数据,生成如下:
x <- data.table(VAR1 = rnorm(n = 20, mean = 10, sd = 2), VAR2 = rnorm(n = 20, mean = 100, sd = 20), VAR3 = 1:20, VAR4 = 21:40)
write.csv(x = x, file = "/tmp/test_data.csv")
我认为您应该按照以下方式编写
仪表板主体
:
dashboardBody(
tabItems(
tabItem(tabName = "inputData",
h1(textOutput("heading")),
dataTableOutput("loaded.data")),
tabItem(tabName = "item01",
h1(textOutput("heading1")),
dataTableOutput("table1")),
tabItem(tabName = "item02",
h1(textOutput("heading2")),
dataTableOutput("table2")),
tabItem(tabName = "item03",
h1(textOutput("heading3")),
dataTableOutput("table3"))
)
)
编辑
这样,完整表就不再显示。为了解决这个问题,我的建议是在仪表板侧栏
中为整个表格添加一个新的menuSubItem
,如下所示:
dashboardBody(
tabItems(
tabItem(tabName = "inputData",
h1(textOutput("heading")),
dataTableOutput("loaded.data")),
tabItem(tabName = "item01",
h1(textOutput("heading1")),
dataTableOutput("table1")),
tabItem(tabName = "item02",
h1(textOutput("heading2")),
dataTableOutput("table2")),
tabItem(tabName = "item03",
h1(textOutput("heading3")),
dataTableOutput("table3"))
)
)
dashboardSidebar(
sidebarMenu(id = "menu",
menuItem(text = "Data", icon = icon("database"),
fileInput(inputId = "file", label = "Choose CSV File",
multiple = TRUE,
accept = ".csv"),
menuSubItem(text = "Full Table", tabName = "inputData")
),
menuItem(text = "My Items", icon = icon("book"),
menuSubItem(text = "Item 1", tabName = "item01"),
menuSubItem(text = "Item 2", tabName = "item02"),
menuSubItem(text = "Item 3", tabName = "item03")
)
)
)
或者更好一点(IMHO):
谢谢DJack,这会有进展,但是现在数据集没有显示在
菜单
选项卡中,而是显示在table01
中,并且它的标题出现在那里<代码>表03不显示在其子项选项卡中,也不显示其标题<代码>表01和表02
以及其他标题出现在它们的位置。阅读表03答案的末尾。我正试图找出完整的表格哦,对不起,我的不好,我太激动了,以至于没有读完整的答案。我还纠正了这个例子,没问题。我对答案进行了编辑,并提出了解决问题的建议。欢迎您。我已经删除了menuItem
的class=“active”
和tabName
,因为这两个选项都不需要。如果你认为它解决了你的问题,考虑接受答案关闭问题()。
dashboardSidebar(
sidebarMenu(id = "menu",
menuItem(text = "Data", icon = icon("database"),
fileInput(inputId = "file", label = "Choose CSV File",
multiple = TRUE,
accept = ".csv")
),
menuItem(text = "My Items", icon = icon("book"),
menuSubItem(text = "Full Table", tabName = "inputData"),
menuSubItem(text = "Item 1", tabName = "item01"),
menuSubItem(text = "Item 2", tabName = "item02"),
menuSubItem(text = "Item 3", tabName = "item03")
)
)
)