我有以下问题。我想在侧边栏菜单中动态更改徽章的标签和颜色。取决于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.
我了解问题所在,但找不到解决方案。