如何将ShinyAlert输入字段捕获为变量

Mar*_*ark 5 r shiny shinyjs

我正在尝试使用相对较新的shinyAlert软件包,以查看它是否比该sweetalert软件包提供更好的结果,但我无法弄清楚如何获得此软件包:

Myvar <-  shinyalert input text 
Run Code Online (Sandbox Code Playgroud)

从这个最小的例子。

library(shiny)
library(shinyjs)
library(shinyalert)

ui <- fluidPage(
  shinyjs::useShinyjs(),
  useShinyalert(),
     actionButton("run", "Run", class = "btn-success")
)
server <- function(input, output, session) {
  shinyEnv <- environment()

  observeEvent(input$run, {

    shinyalert('hello', type='input')
  })
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助。

Dea*_*ali 5

这是你如何做到的:

library(shiny)
library(shinyalert)

ui <- fluidPage(
  useShinyalert(),
  actionButton("run", "Run", class = "btn-success")
)
server <- function(input, output, session) {

  observeEvent(input$run, {
    shinyalert('hello', type='input', callbackR = mycallback)
  })

  mycallback <- function(value) {
    cat(value)
  }
}
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

它是使用回调完成的。如果您愿意,您可以将该值分配给一个反应变量。

我上个月已经完整记录了这个包,准备发布它,然后我的电脑在我有机会推送到 github 之前崩溃了,并且失去了所有进展。我没有机会再做这件事了。很抱歉,文档还不是很好,该软件包仍未发布,因此现在使用风险自负:)

(请注意,您不需要 Shinyjs)