如何解决等待“确认模式”的输出来计算 RShiny 应用程序中的反应值
我想构建一个这种类型的 RShiny 应用程序:
这是一个应用程序的示意性示例。
library(shiny)
library(shinyWidgets)
ui <- fluidPage(
tags$h1("Ask the user for confirmation"),numericInput(
inputId = "number",label = "Enter your number",value = 5,min = 1,max = 10,step = 1
),actionButton(
inputId = "start",label = "Start"
),verbatimtextoutput(outputId = "res")
)
server <- function(input,output,session) {
random <- eventReactive(input$start,{
if (input$number > 6){
ask_confirmation(
inputId = "myconfirmation",title = "Want to confirm ?",text = "It will take a long time..."
)
req(input$myconfirmation)
}
rnorm(input$number)
})
output$res <- renderPrint(random())
}
shinyApp(ui = ui,server = server)
然而,在这个例子中,我的反应变量 random()
的计算根本不以用户在模态框中的响应为条件,而是以变量的过去状态为条件。
我指定我在这里使用了 ShinyWidgets 包的 ask_confirmation
函数作为其显式特征,但我也尝试了基本 shiny package
或 shinyalert
的函数。我觉得我应该通过在响应变量之外创建 observe
或 observeEvent
块来解耦,但我还没有设法做到这一点。有人能指出我正确的方向吗?
非常感谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。