【亲测免费】 使用Shinycssloaders提升你的Shiny应用加载体验

使用Shinycssloaders提升你的Shiny应用加载体验

当Shiny应用程序的输出(如图表、表格或地图)正在重新计算时,它们会变得灰色不可见,这可能会给用户带来不愉快的等待体验。但是,有了Shinycssloaders,你可以添加动态加载动画("spinner"),在输出更新期间为用户提供视觉反馈。这个开源包将使你的Shiny应用更专业、更有吸引力。

1. 项目介绍

Shinycssloaders 是一个R语言的包,它允许你在Shiny的任何输出上添加8种预设的可定制loading动画。只需使用withSpinner()函数包裹你的输出,或者手动调用showSpinner(),即可在数据处理时显示这些精美动画。此外,还可以通过showPageSpinner()覆盖整个页面来展示全屏加载效果。

2. 项目技术分析

该包的核心功能在于其内置的一系列CSS动画,这些动画通过简单的参数设置(如类型、颜色和大小)即可轻松自定义。不仅支持预设动画,还可以提供自定义图像作为加载图标。通过调整R选项,可以全局设定所有spinner的行为,例如默认的类型和颜色。

3. 应用场景

  • 当用户点击按钮触发大型数据计算时,显示加载动画,保持用户体验流畅。
  • 在复杂交互中,显示全屏加载指示器,确保用户知道系统正在工作。
  • 在RMarkdown文档中的Shiny组件中,也可以利用Shinycssloaders提高呈现质量。

4. 项目特点

  • 8款内置动画 - 提供多种风格的加载动画供选择。
  • 高度可定制 - 可以改变颜色、大小,甚至替换为自己的图片。
  • 自动与手动切换 - 自动在输出更新时显示,也可手动控制显示/隐藏。
  • 全屏加载 - 支持覆盖整个页面的加载指示器。
  • 简洁API - 轻松集成到Shiny应用中,代码简洁明了。

要体验Shinycssloaders的实际效果,请访问在线演示应用

安装与使用

对于大多数用户,可以通过以下命令安装稳定版:

install.packages("shinycssloaders")

而高级用户可以使用GitHub上的开发版本:

install.packages("remotes")
remotes::install_github("daattali/shinycssloaders")

在您的Shiny应用中,试试下面的基本用法:

library(shiny)
library(shinycssloaders)

ui <- fluidPage(
  actionButton("go", "Go"),
  withSpinner(plotOutput("plot"))
)
server <- function(input, output) {
  output$plot <- renderPlot({
    input$go
    Sys.sleep(1.5)
    plot(runif(10))
  })
}
shinyApp(ui, server)

如此一来,你就为Shiny应用增添了专业的加载体验,让等待不再单调乏味。现在就尝试将Shinycssloaders集成到你的项目中,享受它带来的好处吧!

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值