我有一个使用 shinydashboard 和 shinydashboardPlus 的闪亮应用程序。在标题中,我能够添加一个 switchInput 以允许用户在两个选项之间切换。更改选项时,会更新整个 UI(相当复杂)以根据用户选择更改各种标签。这个过程需要几秒钟,导致应用程序没有响应,所以我想在 switchInput 旁边添加一个进度表或微调器,但我所有的尝试都失败了。(我尝试从 shinydashboardPlus 和 shinyWidgets 添加进度条,但这些都没有真正出现在标题上。)
编辑:也许关于我的用例的更多细节会有所帮助。当用户单击切换时,我调用了一个分多个步骤运行的函数,整个函数大约需要 20 秒。在每一步之后,我想更新进度条或微调器,以提示用户正在发生某些事情。另外,在单击之前和函数返回之后,我想隐藏进度条或微调器。
这是一些非常简化的代码,其标头包括 switchInput。
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
library(shinyWidgets)
# Define UI for application that draws a histogram
ui <- dashboardPage(skin = 'blue',
shinydashboardPlus::dashboardHeader(title = 'Example',
leftUi = tagList(
switchInput(inputId = 'swtLabels', label = 'Labels', value = TRUE,
onLabel = 'Label 1', offLabel = 'Label 2',
onStatus = 'info', offStatus = 'info', size = 'mini',
handleWidth = 230)
)
),
dashboardSidebar(),
dashboardBody()
)
server <- function(input, output) {}
# Run the application
shinyApp(ui = ui, server = server)