Skip to content

Inputs and outputs don't work correctly when a modal fires too quickly after a closed modal #48

@daattali

Description

@daattali

Related to #46

In the following example, a modal is opened, closed, and another modal with a shiny input immediately opens. The input doesn't get bound to shiny (same thing happens with outputs).

library(shiny)

ui <- fluidPage(
  actionButton("go", "go")
)

server <- function(input, output, session) {
  observeEvent(input$go, {
    shinyalert::shinyalert("test 1")
    shinyalert::closeAlert()
    shinyalert::shinyalert("test 2", textInput("text", "text", "test"), html = TRUE)
  })
  
  observe({
    message(input$text)
  })
}

shinyApp(ui, server)

If I add a 500ms delay (either using Sys.sleep() or shinyjs::delay()) after closing the first modal but before showing the second, then the input binding works.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions