闪亮的observeEvent()里面的执行顺序是什么?

时间:2018-03-07 21:03:33

标签: r shiny

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

我正在关注动态更新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)

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

1 个答案:

答案 0 :(得分:2)

您可能正在寻找immediate参数。

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