如何解决如何在ui部分而不是整个tabPanel中实现闪亮的繁忙/重新计算加载程序?
我正在使用js脚本通过为数据表标识闪亮的繁忙/重新计算来显示加载程序,它工作正常,但是我只想将其限制为ui部分中的特定actionButton,但不幸的是,它正在为整个tabPanel,当同一tabPanel中的其他进程正在工作时,导致加载程序显示一微秒。
下面是用于闪亮忙碌和重新计算的js脚本
$(document).on('shiny:recalculating',function() {
$('div#divLoading').addClass('show'); });
$(document).on('shiny:value shiny:error shiny:idle',function() {
$('div#divLoading2').removeClass('show'); });
在“ UI”部分中,我通过将id元素添加到数据表中来应用此方法
shinyUI(
fluidPage(
tabPanel("Main",dashboardPage(
dashboardHeader(title = ""),div(id='divLoading'),DT::dataTableOutput("Prediction.Table"),actionButton("Submit")
))
)
如何在特定的ui部分而不是整个tabPanel中实现闪亮的繁忙/重新计算加载程序?
谢谢您的时间。
解决方法
您可以使用shinycssloader
。
以下示例显示了在两个不同的ui对象(图)上的两个单独的加载器:
library(shiny)
ui <- fluidPage(
actionButton("go","Go"),shinycssloaders::withSpinner(
plotOutput("plot1")
),shinycssloaders::withSpinner(
plotOutput("plot2")
)
)
server <- function(input,output) {
data <- reactive({
# Calculations
req(input$go)
Sys.sleep(2)
runif(10)
})
output$plot1 <- renderPlot({
req(input$go)
Sys.sleep(1)
plot(data())
})
output$plot2 <- renderPlot({
plot(runif(10))
})
}
shinyApp(ui = ui,server)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。