动态渲染盒子

时间:2018-07-17 07:25:44

标签: r shiny shinydashboard

如何根据数据使盒子变亮。 数据是由用户上传的,它可以具有比此更多的数据,因此我必须创建 一个动态的盒子。 我正在运行以下代码,并且正在控制台中创建四个框,而不是在闪亮的网页中。 请看看,谢谢。

代码

   list_data <- list(c("AB","CD","EF","GH"))  #data

ui <- dashboardPage(
      dashboardHeader(title = "Text Mining"),
        dashboardSidebar(
         sidebarMenu(
          menuItem("NLP Tree", tabName = "NLP")
         )
       ),

      dashboardBody(
       tabItems(
        tabItem(tabName = "NLP",
         fluidRow(
          tabBox(width = 12,height="500",
           tabPanel("Sentences",
            uiOutput("nlp_sentences_tree")
                   )
            ) 
           )  
          )
         )   
        )
       )



server <- function(input, output) {

  output$nlp_sentences_tree <- renderUI({

    for(i in list_data[[1]]){
     print(box(width = 8,
            i
           )
         )
        }
     }) 
    }

  shinyApp(ui = ui, server = server)

2 个答案:

答案 0 :(得分:2)

在这里看看,我为每个按钮都添加了一个按钮,以便在那里有东西

library(shinydashboard)
library(shiny)

list_data <- list(c("AB","CD","EF","GH"))  #data

ui <- dashboardPage(
  dashboardHeader(title = "Text Mining"),
  dashboardSidebar(
    sidebarMenu(
      menuItem("NLP Tree", tabName = "NLP")
    )
  ),

  dashboardBody(
    tabItems(
      tabItem(tabName = "NLP",
              fluidRow(
                tabBox(width = 12,height="500",
                       tabPanel("Sentences",
                                uiOutput("nlp_sentences_tree")
                       )
                ) 
              )  
      )
    )   
  )
)



server <- function(input, output) {

  v <- list()
  for (i in 1:length(list_data[[1]])){
    v[[i]] <- box(width = 8, list_data[[1]][i],actionButton(i,i))
  }
  output$nlp_sentences_tree <- renderUI(v)
}

shinyApp(ui = ui, server = server)

enter image description here

答案 1 :(得分:2)

或者使用lapplytagList

server <- function(input, output) {
  output$nlp_sentences_tree <- renderUI({
    a <- lapply(list_data[[1]], function(x) {
      box(width = 8, x)
    })
    tagList(a)
  }) 
}
相关问题