簡體   English   中英

R / Shiny:RenderUI循環生成多個對象

[英]R/Shiny : RenderUI in a loop to generate multiple objects

動態框成功顯示后: R / Shiny:框的顏色取決於選擇我需要您循環使用這些框。 例子:我有一個輸入文件,它給出了:

  • BOXA
  • 盒B
  • BoxC

我想在renderUI循環中將這些值作為變量來動態生成Box A,B和C。(如果我有4個值,那么我將有4個etC。)

這是我的實際代碼:

for (i in 1:nrow(QRSList))

{get(QRSOutputS [i])<-renderUI({column(4,box(title = h3(QRSList [1],style =“ display:inline; font-weight:bold”),

      selectInput("s010102i", label = NULL,
                  choices = list("Non commencé" = "danger", "En cours" = "warning", "Terminé" = "success"),
                  selected = 1) ,width = 12, background = "blue", status = get(QRSIntputS[i])))
  })
  column(4,
observeEvent(input$s010102i,{
  get(QRSOutputS[i]) <- renderUI({
    box(title = h3(QRSList[1], style = "display:inline; font-weight:bold"),

        selectInput("s010102i", label = NULL,
                    choices = list("Not good" = "danger", "average" = "warning", "good" = "success"),
                    selected = get(QRSIntputS[i])) ,width = 12, background = "blue",status = get(QRSIntputS[i]))
  })

目的是將這些框名替換為例如input $ s010102之類的變量。 但是獲取和分配功能不存在。

任何想法 ?

非常感謝

這是一個如何動態生成盒子的例子

library(shinydashboard)
library(shiny)

QRSList <- c("Box1","Box2","Box3","Box4","Box5")

ui <- dashboardPage(
  dashboardHeader(title = "render Boxes"),
  dashboardSidebar(
    sidebarMenu(
      menuItem("Test", tabName = "Test")
    )
  ),

  dashboardBody(
    tabItems(
      tabItem(tabName = "Test",
              fluidRow(
                tabPanel("Boxes",uiOutput("myboxes"))
              )  
      )
    )   
  )
)


server <- function(input, output) {

  v <- list()
  for (i in 1:length(QRSList)){
    v[[i]] <- box(width = 3, background = "blue",
                  title = h3(QRSList[i], style = "display:inline; font-weight:bold"),
                  selectInput(paste0("slider",i), label = NULL,choices = list("Not good" = "danger", "average" = "warning", "good" = "success"))
    )
  }
  output$myboxes <- renderUI(v)
}

shinyApp(ui = ui, server = server)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM