shinydashboard一些字体真棒图标不起作用

The*_*Man 9 r font-awesome shiny shinydashboard

使用时shinydashboard我发现有些图标似乎有效,而有些则没有.在下面的示例中,当clock-o图标正常工作时,电池已满的图标不起作用.我无法弄清楚为什么会发生这种情况.

library(shiny)
library(shinydashboard)

header <- dashboardHeader(title="Some Icons Not Working?")

# No sidebar --------------------------------------------------------------

sm <- sidebarMenu(

  sm <- sidebarMenu(
    menuItem(
      text="asdf",
      tabName="asdfasdf",
      icon=icon("battery-full")),
    menuItem(
      text="qwer",
      tabName="qwerqwer",
      icon=icon("clock-o"))
  )
)

sidebar <- dashboardSidebar(sm)

# Compose dashboard body --------------------------------------------------

body <- dashboardBody(

  tabItems(

  )
)

# Setup Shiny app UI components -------------------------------------------

ui <- dashboardPage(header, sidebar, body, skin="black")

# Setup Shiny app back-end components -------------------------------------

server <- function(input, output) {


}

# Render Shiny app --------------------------------------------------------

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

mic*_*str 15

对于 2021 年的新人来说,这个图标...不存在错误是由于 Font Awesome 在 4 到 5 之间更改了图标名称(请参阅此处的背景)。以下是不需要标签样式的解决方案。

如果您收到此错误消息,

此 Font Awesome 图标 ('{youriconname}') 不存在:

* 如果提供自定义html_dependency这些name检查可以通过以下方式停用verify_fa = FALSE

然后,您可以:

  1. 拥抱变化并重命名您的图标,查看库,链接到例如 5.1.5,为您的比赛找到一个新名称。就我而言,它将 icon('dashboard') 更改为 icon('tachometer-alt')。使用您的旧名称进行搜索,然后查看免费的、未灰显的图标以查找替代方案。

  2. 使用问题 373中@samssann 提供的这个有用的解决方法shinydashboard

    1. 添加verify_fa = FALSE参数到shiny::icon()
    2. 使用shiny::icon("clock")fontawesome::fa("clock")

PS 您可能会发现尽管出现错误,图标仍然显示在您的应用程序上,因为有一个垫片可以插入 4 到 5。请参阅@j Cheng在闪亮问题 #1966 中的答案。


Dan*_*ers 14

这是一个较旧的问题,但这个问题在 2020 年 7 月仍然存在。我在github issues page中找到了解决方案。诀窍是确保您正在查看正在调用的 Font Awesome Shiny 版本中的图标库。目前(还是 2020 年 7 月)版本为 4.7。 目前所有这些图标都可以使用。

另一种选择是在应用程序的 ui 函数中使用以下代码来调用您想要的 fontawesome 版本(此解决方案最初发布于此处):

tags$style("@import url(https://use.fontawesome.com/releases/v5.7.2/css/all.css);")
Run Code Online (Sandbox Code Playgroud)


Por*_*hop 11

好吧,我认为版本4.4中的新版本没有更新.你可以请求shiny团队更新它们,他们会很容易地做到.或者,您可以通过下载并替换以前的内容自己完成...

1.转到Font Awesome下载页面并获取它 在此输入图像描述

2.找到安装包的字体awesome文件夹shiny.这应该在这里的某个地方~\Documents\R\win-library\3.1\shiny\www\shared\font-awesome

3.用新内容替换此文件夹的内容(如果需要,可以删除以前的内容).以下是我放在那里的内容 在此输入图像描述

4.现在你的应用程序应该可以正常使用新字体 在此输入图像描述


小智 5

现在,shiny::icon 由 fontawesome r 包提供支持,您可以使用 fontawesome:::fa_tbl 来帮助您找到函数所需的名称。fontawesome:::fa_version 还告诉您 R 包中当前的 fontawesome 版本。