提问人:king_of_limes 提问时间:11/16/2023 更新时间:11/17/2023 访问量:25
您可以将女服务员的进度条应用于模态对话框吗?
Can you apply a progress bar from waitress to a modal Dialog?
问:
在一个应用程序中,我有一个有时需要一些时间来计算的图。我想用包中的进度条显示此计算的进度。有没有办法将 a 应用于 a ?下面是一个 MWE,其中 应用于整个页面,但如果我在 .shiny
waiter
waitress
modalDialog
waitress
modalDialog
我已经检查了演示中的可能性:将其应用于我的实际应用程序不起作用。将其显示为通知会起作用,但我不知道有任何方法可以将通知显示在屏幕中央而不是角落。我想“on elements”是我正在寻找的,但我没有输入或输出 id。actionButton
modalDialog
library(shiny)
library(shinipsum)
library(waiter)
library(plotly)
complicated_function <- function(){
waitress <- Waitress$new(theme = "overlay",min = 0,max = 20)
for(i in 1:20){
waitress$inc(1)
Sys.sleep(0.2)
}
waitress$close()
return(random_ggplotly())
}
ui <- fluidPage(
useWaitress(),
actionButton("plotButton", "Generate Plot")
)
server <- function(input,output,session){
modal1 <- modalDialog(
renderPlotly({
complicated_function()
})
)
observeEvent(input$plotButton,{
showModal(modal1)
})
}
shinyApp(ui, server)
答:
1赞
Roman
11/17/2023
#1
您可以尝试同一包中的 attendantBar:
library(shiny)
library(shinipsum)
library(waiter)
library(plotly)
complicated_function <- function(){
att <- Attendant$new("progress-bar", hide_on_max = TRUE)
for(i in 1:20){
att$set(i * 10)
Sys.sleep(0.2)
}
return(random_ggplotly())
}
ui <- fluidPage(
useAttendant(),
actionButton("plotButton", "Generate Plot")
)
server <- function(input,output,session){
modal1 <- modalDialog(
attendantBar("progress-bar"),
renderPlotly({
complicated_function()
})
)
observeEvent(input$plotButton,{
showModal(modal1)
})
}
shinyApp(ui, server)
评论