问题描述
我想构建一个这种类型的 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 (将#修改为@)