17

使用时,shinydashboard我发现有些图标似乎有效,而有些则无效。在下面的示例中,电池充满的图标不起作用,而时钟-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)
4

4 回答 4

11

好的,我认为4.4版本的新版本没有更新。您可能可以要求shiny团队更新它们,他们会很容易地做到这一点。或者,您可以自己下载它们并替换以前的内容...

1.Font Awesome下载页面获取 在此处输入图像描述

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

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

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

于 2015-09-21T07:50:33.970 回答
5

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

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

tags$style("@import url(https://use.fontawesome.com/releases/v5.7.2/css/all.css);")
于 2020-07-24T15:15:00.267 回答
4

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

如果您收到此错误消息,

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

*如果提供自定义html_dependency这些name检查可以被停用verify_fa = FALSE

然后,您可以:

  1. 接受更改并重命名您的图标,查看库,例如链接到 5.1.5,为您的匹配找到一个新名称。在我的情况下,它正在将 icon('dashboard') 更改为 icon('tachometer-alt')。使用您的旧名称进行搜索,然后查看免费的、未变灰的图标以寻找替代方案。

  2. 使用来自issue 373的 @samssann这个有用的解决方法shinydashboard

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

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

于 2021-12-29T11:14:56.177 回答
0

对我来说,在 2020 年 10 月,解决方案是在第一个“fa”之后添加一个“s”,fa fa-caret-up因为fas fa-caret-up它是字体真棒图标的新语法。

于 2020-10-25T13:07:20.397 回答