r语言 - shiny observeEvent() 中的执行顺序是什么



我想点击一个按钮,触发插入UI,计算一些东西,最后删除UI。但是,插入UI/删除UI在计算后生效。

我正在按照官方示例动态更新 UI。https://shiny.rstudio.com/articles/dynamic-ui.html

在 removeUI 之后添加 Sys.sleep(2( 时, 它似乎是在删除元素之前执行的。

ui <- fluidPage(
  actionButton("rmv", "Remove UI"),
  textInput("txt", "This is no longer useful")
)
server <- function(input, output, session) {
  observeEvent(input$rmv, {
    removeUI(
      selector = "div:has(> #txt)"
    )
    Sys.sleep(2)
  })
}
shinyApp(ui, server)

这是什么原因,如何解决?

您可能正在寻找immediate论点。

removeUI(selector = "div:has(> #txt)", immediate = TRUE)

最新更新