我是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}}。
答案 0 :(得分:1)
经过漫长的研究,我认为不可能。
在初始设置时调用navbarPage
时,它会为输入列表提供的所有tabPanels
创建超链接和占位符。 (请参阅下面的链接。)uiOutput
注入的任何其他添加内容都不会这样做,因为定义navbarPage
(而不是内容)的HTML上下文在启动后是固定的。任何注入只会影响标签中显示的内容。
你可以说,shinyUI
在shinyServer的意义上没有反应。但是,由于Shiny中的反应性意味着快速重新评估,通过shinyServer
重建您的用户界面似乎是构建动态navbarPages
的合法“闪亮”方式。
如果您仍然不满意,可以搜索此页面:Shiny Bootstrap Definitions。特别是在306-389行(navbarPage
)和689-834(buildTabset
)中,您可以阅读有关实际函数定义的内容。也许你可以模仿那些并添加额外的实用程序,以使其工作。