如何在Shiny中等待时显示旋转轮或忙碌图标

30

嗨,我刚开始使用R和Shiny。 试图制作一个显示不同图表的仪表板。 由于有很多数据需要处理,所以在点击动作按钮“启动活动”后,图形或图表需要一些时间才能显示出来。 是否有任何方法可以在白色空白处显示旋转轮或加载图标,以便在此延迟发生时展示它们?右侧带空白的仪表板


2
你看过这里吗:https://shiny.rstudio.com/gallery/progress-bar-example.html? - Tonio Liebrand
这个已经在这里讨论过了:https://dev59.com/n18e5IYBdhLWcg3wLX8- 基本上,你需要在第一次尝试中使用conditionalPanel。 - PSzczesny
1
可能是shiny app忙指示器的重复问题。 - PSzczesny
1个回答

67

有一个很棒的shinycssloaders包,https://github.com/andrewsali/shinycssloaders,现在在这里维护:https://github.com/daattali/shinycssloaders,它可以实现你想要的效果:

library(shiny)
library(dplyr)
library(shinycssloaders)

ui <- fluidPage(
  
  actionButton("plot","plot"),
  plotOutput("Test") %>% withSpinner(color="#0dc5c1")
)



server <- function(input, output, session) {
  

  data <- eventReactive(input$plot,{
    rnorm(1:100000)
  })
  
  output$Test <- renderPlot({
    plot(data())
  })
}

shinyApp(ui = ui, server = server)

这里输入图片描述


4
可以与textOutput一起使用。太棒了!textOutput("t1")%>% withSpinner(color="#0dc5c1") - agent18
3
这是最简单的解决方案,只需要一行代码。链接为https://dreamrs.github.io/shinybusy/。 - bodega18
@bodega18 赢了! - clancy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接