【发布时间】:2021-06-15 19:46:01
【问题描述】:
下面是一个带有 textInput 和 actionButton 的简单 R Shiny 应用程序示例,单击按钮后应该将文本值设置为 NULL 并打印 NULL 值,但是我观察到单击提交按钮后它仍然打印值在 textInput 中输入。谁能解释一下为什么更新 textInput 值会有这种延迟?
library(shiny)
ui <- fluidPage(
textInput("text", "Test"),
actionButton("Submit","Submit")
)
server <- function(input, output, session) {
observeEvent(input$Submit,{
updateTextInput(session,"text", value = " ")
print(input$text)
})
}
shinyApp(ui, server)
运行应用程序后,如果我在文本输入中输入“hello”,我应该会在打印控制台上看到“”,但它会显示 input$text 的值,即打印控制台中的“hello”。显然,“”的赋值并没有按照它在代码中写入的顺序发生。
如果有人可以在 Shiny 应用中解释这种行为,请分享。 感谢您的宝贵时间和建议。
【问题讨论】: