闪亮的仪表板 - 动态侧边栏图标

Shiny Dashboard - dynamic sidebar icon

我正在尝试根据我 运行(可能是 "Live" 或 "Archived")的当前测试状态动态更改侧边栏图标。我尝试了以下将图标的值分配给反应性输出,但是我无法让它工作。

ui.R

  menuItem("AB calculator ", tabName = "calculator", icon = icon("hand-o-right")),
  menuItem("AB calculator ", tabName = "test1", icon = icon(uiOutput('iconTest')))

server.R

      output$iconTest<-renderUI({
      "th"
      })

这是一个可重现的例子

library(shiny)

shinyApp(
  ui = bootstrapPage(

    dashboardHeader(
      title=" dashboard",
      titleWidth = 250

    ),

    dashboardSidebar(

     sidebarMenu(

        menuItem("AB calculator ", tabName = "test1", icon = icon(uiOutput('iconTest')))

      )
    ),

    dashboardBody(
    )

),
    server = function(input, output) {
      output$iconTest<-renderUI({
        iconTest<-"th"
      })

    }
  )

谢谢

G

也许你可以渲染整个 menuItem

rm(list = ls())
library(shiny)
library(shinydashboard)

shinyApp(
  ui = bootstrapPage(
    dashboardHeader(title=" dashboard"),
    dashboardSidebar(sidebarMenu( uiOutput('iconTest'))),
    dashboardBody()
  ),
  server = function(input, output) {
    output$iconTest <- renderUI({
      menuItem("AB calculator ", tabName = "test1", icon = icon('th'))
    })
  }
)
shinyApp(ui = ui, server = server)