我想点击一个按钮,触发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)
这是什么原因,以及如何解决?
答案 0 :(得分:2)
您可能正在寻找immediate
参数。
removeUI(selector = "div:has(> #txt)", immediate = TRUE)