我想点击一个按钮,触发插入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)