繁体   English   中英

R闪亮:在navbarPage内,renderUI未呈现tabSet

[英]R Shiny: tabSet isn't rendered with renderUI inside a navbarPage

我是R和Shiny的新手。 我正在尝试在server.R文件中创建tabPanel ,但没有成功,我认为这是由于在uiContent内使用navbarPage来获取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文件,同时保持navbarPageui.R文件。

经过长时间的研究,我认为这是不可能的。

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

您可能会说, shinyUI知道shinyUI反应性。 但是,由于Shiny中的反应性仅意味着快速重新评估,因此通过shinyServer重建UI似乎是构建动态navbarPages的合法“ Shiny”方法。

如果您仍然不满意,则可以搜索以下页面: Shiny Bootstrap Definitions 特别是在306-389行( navbarPage )和689-834行( buildTabset )中,您可以阅读有关实际函数定义的信息。 也许您可以模仿它们并添加额外的实用程序以使其正常运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM