本文介绍了R闪亮的导航栏菜单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用软件包的开发版本开发一个闪亮的应用程序,如文档所述here。
将navbarPage
与tabsetPanel
配合使用时,一切正常:
library(shiny)
shinyUI(
navbarPage("Page Title",
tabPanel("Panel 1")
tabPanel("Panel 2"),
tabPanel("Panel 3"))
)
但是当我将navbarMenu
添加到其中一个选项卡时:
library(shiny)
shinyUI(
navbarPage("Page Title",
navbarMenu("Menu",
tabPanel("Panel 1.1"),
tabPanel("Panel 1.2")),
tabPanel("Panel 2"),
tabPanel("Panel 3"))
)
应用程序的每个选项卡上都会显示文本"选项卡窗格处于活动状态",即使不在navbarMenu
中的选项卡也是如此。"选项卡窗格活动"似乎是一个本应位于div标记内部的CSS类,但不知何故它在页面源代码中显示为纯文本。有人知道是什么原因造成的吗,或者如何修复它?
推荐答案
我希望我能找到一个好的类比,或者是一个更好的作家,用几句话来解释这一点。
但我是从容器和内容的角度来考虑它的。在您的第一个示例中,您有一个"导航栏页面"。这是一个可以用选项卡面板等其他"页面"填充的容器。
但是tabPanels不能用tabPanels填充,只能用R输出正在生成的图形或表格等内容填充。如果您想要一个包含多个选项卡面板的页面,您需要一个能够容纳它们的容器:一个tabsetPanel(字面意思是一组选项卡面板)。shinyUI(
navbarPage("Page Title",
tabPanel("Panel 1",
tabsetPanel(
tabPanel("Panel 1.1"),
tabPanel("Panel 1.2")
)),
tabPanel("Panel 2"),
tabPanel("Panel 3")
)
)
现在您将看到,tabsetPanel(一组选项卡)设置了一个额外的"page",它有自己的选项卡。
您可以尝试在您链接到的shiny app layout guide上使用其他示例进行类比。因此,例如,在您的示例中,您永远不能创建子菜单,只能向tabPanel添加另一个tabPanel(如上所述,tabPanel不能是tabPanel的容器)。您首先需要说明您需要一个navbarMenu,它实际上可以包含多个选项卡面板。这看起来很复杂,因为导航和页面关系非常密切,如果容器包含容器,那么它实际上就变成了导航项。在RStudio团队为这些布局项目选择的术语中有一些很好的提示,但它的工作原理并不总是一目了然。
这篇关于R闪亮的导航栏菜单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!