在R中的一个被动功能中显示多个信息框
我想知道是否有可能创建多个信息框,其中只有一个反应式函数“ibox”,如下面的脚本所示。我将在ibox reactive函数中传递下面所有信息框的值,并看到它们一起显示在R中的一个被动功能中显示多个信息框,r,shiny,shinydashboard,shinyapps,R,Shiny,Shinydashboard,Shinyapps,我想知道是否有可能创建多个信息框,其中只有一个反应式函数“ibox”,如下面的脚本所示。我将在ibox reactive函数中传递下面所有信息框的值,并看到它们一起显示 library(shiny) library(shinydashboard) ui <- dashboardPage( dashboardHeader(title = "Dynamic boxes"), dashboardSidebar(), dashboardBody( fluidRow( infoBoxOutp
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic boxes"),
dashboardSidebar(),
dashboardBody(
fluidRow(
infoBoxOutput("ibox")
)))
server <- function(input, output) {
output$ibox <- renderInfoBox({
infoBox(
"Title",
5,
icon = icon("credit-card")
)
infoBox(
"Title",
5,
icon = icon("credit-card")
)
infoBox(
"Title",
4,
icon = icon("credit-card")
)
})}
shinyApp(ui, server)
库(闪亮)
图书馆(shinydashboard)
ui如评论中所述,您可以使用renderUI
和uiOutput
。但是,请注意,renderUI
实际上只呈现其主体中的最后一条语句。为了渲染多个对象,我们可以将它们放置在列表中(或列
,fluidRow
等)。工作示例:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic boxes"),
dashboardSidebar(),
dashboardBody(
fluidRow(
uiOutput("ibox")
)))
server <- function(input, output) {
output$ibox <- renderUI({
list(
infoBox(
"Title",
5,
icon = icon("credit-card")
),
infoBox(
"Title",
5,
icon = icon("credit-card")
),
infoBox(
"Title",
4,
icon = icon("credit-card")
)
)
})}
shinyApp(ui, server)
库(闪亮)
图书馆(shinydashboard)
ui查看renderUI()
和uiOutput()
取而代之:)我想如果你用renderUI()
替换renderInfoBox()
,你应该已经非常接近你想要的了。嗨,谢谢你的回复,如果你能帮我举一个工作示例的话,仍然可以得到同样的结果。