我使用renderTable来显示一些数据。但是,有时数据表是空的,在这种情况下我想打印“无数据显示”或类似的东西。 renderTable的默认设置是不显示空数据。可以改变吗?如何?
答案 0 :(得分:4)
您可以将条件用于renderUi
以呈现消息或“tableOutput”(您无法直接呈现表格)
datas <- data.frame()
shiny::runApp(list(
ui = pageWithSidebar(
headerPanel("Example"),
sidebarPanel(
selectInput("dataset", "Dataset", choices = c("iris", "datas"))
),
mainPanel(
uiOutput("ui")
)
),
server = function(input, output, session) {
datasetInput <- reactive({
switch(input$dataset,
"iris" = iris,
"datas" = datas)
})
output$ui <- renderUI({
if(nrow(datasetInput()) == 0)
return("No data to show")
tableOutput("table")
})
output$table <- renderTable({
head(datasetInput())
})
}
))