2016-07-08 3 views
0

Я пытаюсь изменить значки боковой панели динамически в соответствии с состоянием текущего теста, который я запускаю (может быть «Live» или «Archived»). Я попробовал следующее, чтобы присвоить значение значка реактивному выходу, однако я не могу заставить его работать.Shiny Dashboard - динамический значок боковой панели

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

ответ

0

Возможно, что вы сможете рендерить весь 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) 

enter image description here