R Shiny:tabSet不会在navbarPage中使用renderUI呈现

时间:2015-09-23 10:52:37

标签: r shiny-server shiny

我是R和Shiny的新手。我正在尝试在tabPanel文件中创建server.R但没有成功,我认为这是因为在uiContent内使用navbarPage来获取{{}时的错误1}}。

这是我的tabPanel

ui.R

这是shinyUI( navbarPage( "test", id = "nav", collapsible = TRUE, position = "fixed-top", # needed to keep fixed-top navbar from obscuring content header = tags$style(type="text/css", "body {padding-top: 70px;}"), uiOutput("content") ) )

server.R

我的创可贴解决方案是将function(input, output) { output$content <- renderUI({ tabPanel("tabA") }) } 功能包含在navbarPage中,但我想知道是否有某种方法可以在renderUI文件中保留标签,同时保持server.ui {1}}文件中的{1}}。

1 个答案:

答案 0 :(得分:1)

经过漫长的研究,我认为不可能。

在初始设置时调用navbarPage时,它会为输入列表提供的所有tabPanels创建超链接和占位符。 (请参阅下面的链接。)uiOutput注入的任何其他添加内容都不会这样做,因为定义navbarPage(而不是内容)的HTML上下文在启动后是固定的。任何注入只会影响标签中显示的内容。

你可以说,shinyUI在shinyServer的意义上没有反应。但是,由于Shiny中的反应性意味着快速重新评估,通过shinyServer重建您的用户界面似乎是构建动态navbarPages的合法“闪亮”方式。

如果您仍然不满意,可以搜索此页面:Shiny Bootstrap Definitions。特别是在306-389行(navbarPage)和689-834(buildTabset)中,您可以阅读有关实际函数定义的内容。也许你可以模仿那些并添加额外的实用程序,以使其工作。