首页 > 解决方案 > 标签集面板的闪亮图标

问题描述

我闪亮的仪表板中有一个选项卡集面板,无论有多少值,它都会填充。我想添加一个选项,如果满足条件,它将在选项卡集面板中的名称旁边添加一个图标,如果它不如下所示,则只返回名称:

library(shinydashboard)
nba_teams <- data.frame(team = c("Bulls", "Nuggets", "Celtics", "Lakers"),
                        conference = c("Eastern", "Western", "Eastern", "Western"),
                        player_over_30 = c("Y","N","N","Y"),
                        date_team_formed = c(1966-01-01,1967-01-01,1946-06-06,1947-01-01))

nba_list <- list()
for(i in 1:length(unique(nba_teams$conference))){
  nba_list[[i]] <- filter(nba_teams, conference==unique(nba_teams$conference)[[i]]) %>% as.data.frame()
}
names(nba_list) <- unique(nba_teams$conference)


ui <- dashboardPage(
  dashboardHeader(title = "NBA Data"),
  dashboardSidebar(),
  dashboardBody(
      box(
        title = "test1",
        uiOutput("detailed_output")

      )))


server <- function(input,output){

 output$detailed_output <- renderUI({
   pan = lapply(1:length(nba_list[['Western']]$team), function(x) 
     tabPanel(nba_list[['Western']]$team[x],
              reactive({
                if(nba_list[['Western']]$player_over_30[x]=='Y'){
                  return(tags$li(nba_list[['Western']]$team[x],icon("file")))
                }
                else{
                  return(tags$li(nba_list[['Western']]$team[x]))
                }
              })))
   do.call(what = shinydashboard::tabBox, args = c(title = "teams", width = 12, height = "200px", pan))
 })}

shinyApp(ui,server)

但是,当我尝试运行它时,仪表板将更新,但是选项卡面板不会使用响应选项呈现。我收到的错误消息是无法将“闭包”类型强制转换为“字符”类型的向量。

这在服务器反应部分失败了,但我不确定要改变什么来解决这个问题。谢谢,

标签: rshinyshinydashboard

解决方案


推荐阅读