从menuItem动态更改badgeColor

时间:2019-02-22 11:10:24

标签: r shiny shinydashboard shiny-reactivity

我有以下问题。我想在侧边栏菜单中动态更改徽章的标签和颜色。取决于SQL查询是否包含条目。它对于标签来说效果很好,但是更改颜色会给我带来麻烦。我尝试了以下方法。不幸的是,我没有一个有效的例子。

在我的仪表板侧边栏

  menuItem("Error Dublicates", tabName = "error_dublicates", icon = icon("exclamation-circle"), badgeLabel = textOutput("text_badge_dub")
  )

在我的服务器功能中

   dub = reactive({resultset()[duplicated(resultset()[,0:2]),]})
   dub_count = reactive({NROW(dub())})
   output$text_badge_dub = renderText({ifelse(dub_count()>0, "Errors", "OK")})

resultset()是基于用户输入的SQL查询的结果。如果我得到的表中有返回的行,则需要标记:“错误”。这很好。然后我尝试了:

  menuItem("Error Dublicates", tabName = "error_dublicates", icon = icon("exclamation-circle"), badgeLabel = textOutput("text_badge_dub"), badgeColor = textOutput("text_badge_dub_2")
  )

并添加

  output$text_badge_dub_2 = renderText({ifelse(dub_count()>0, "red", "green")})

到服务器功能

并得到错误:

Invalid color: <div id="text_badge_dub_2" class="shiny-text-output"></div>. Valid colors are: red, yellow, aqua, blue, light-blue, green, navy, teal, olive, lime, orange, fuchsia, purple, maroon, black.

我了解问题所在,但找不到解决方案。

0 个答案:

没有答案