[英]renderUI in R shiny doesn't display
有时我们想将内容放在 uiOutput/renderUI 中。 但这并不总是有效。 例如,下面的例子。 在我看来,code#1 和 code#2 应该给我相同的 GUI。 但是,代码#2 没有按预期工作。 谁能告诉我原因? 谢谢!
代码#1:
library(shiny)
ui <- navbarPage("test",
navbarMenu("More",
tabPanel("Table"
)
)
)
server <- shinyServer(function(input, output, session) {
})
shinyApp(ui = ui, server = server)
代码#2:
library(shiny)
ui <- navbarPage("test",
uiOutput("ui_data")
)
server <- shinyServer(function(input, output, session) {
output$ui_data <- renderUI({
navbarMenu("More",
tabPanel("Table"
)
)
})
})
shinyApp(ui = ui, server = server)
在第二示例中, uiOutput
包装的内容navbarMenu
一个div内部与类"shiny-html-output"
。 然而, navbarPage
不允许作为navbarPage
的参数。 AFAIK,有两种方法可以解决这个问题
首先是在服务器端创建整个navbarPage
。
library(shiny)
ui <- uiOutput("page")
server <- shinyServer(function(input, output, session) {
output$page <- renderUI({
navbarPage("test", navbarMenu("More", tabPanel("Table")))
})
})
shinyApp(ui, server)
另一种是只在服务器中创建tabPanel
的内容
library(shiny)
ui <- navbarPage(
"test",
navbarMenu("More", tabPanel("Table", uiOutput("tab_content")))
)
server <- shinyServer(function(input, output, session) {
output$tab_content <- renderUI({
"Some content"
})
})
shinyApp(ui = ui, server = server)
请尝试先设置您的工作目录,如下例所示。
setwd("c:/用户/ID/桌面/文件夹")
你应该得到带有 ui.R 和 server.R 位置的工作目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.