我正在尝试使用相对较新的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)
感谢您的帮助。
这是你如何做到的:
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)