合并renderUI,dataTableOutput和renderDataTable

问题描述 投票:0回答:1

假设我有以下闪亮的应用程序,它从包DT中呈现了一个数据表:

library(shiny)
ui <- fluidPage(uiOutput("abc"))
server <- function(input, output, session) {
  output$abc <- renderUI({DT::dataTableOutput("dt_output")})               # line 4
  output$dt_output <- DT::renderDataTable({data.table(a = 1:3, b = 4:6)})  # line 5
}
runApp(list(ui = ui, server = server))

如何将第4行和第5行与output$abc必须保持为uiOutput的约束条件结合在一起?

我尝试合并(下面的代码)导致错误,“无法强制类型关闭”:

output$abc <- renderUI({DT::dataTableOutput(
    DT::renderDataTable({data.table(a = 1:3, b = 4:6)}))})
r shiny dt
1个回答
0
投票

这应该起作用:

library(shiny)

ui <- fluidPage(
    uiOutput("abc")
)

server <- function(input, output, session) {

    output$abc <- renderUI({
        output$aa <- DT::renderDataTable(head(mtcars))
        DT::dataTableOutput("aa")
    })

}
runApp(list(ui = ui, server = server))
© www.soinside.com 2019 - 2024. All rights reserved.