[英]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.