我正在使用Dean的shinyalert
包中的示例:
library(shiny)
library(shinyalert)
shinyApp(
ui = fluidPage(
useShinyalert(), # Set up shinyalert
actionButton("btn", "Greet")
),
server = function(input, output) {
observeEvent(input$btn, {
shinyalert(
"Enter your name", type = "input",
callbackR = function(x) { message("Hello ", x) },
callbackJS = "function(x) { alert('Hello ' + x); }"
)
})
}
)
由于某种原因,github上显示的示例不适用于我的。当我删除callbackJS时。什么都没发生。输入名称,然后单击“确定”,但是链模式不起作用。
有什么想法吗?
答案 0 :(得分:1)
我认为您必须使用:
callbackR = function(value) { shinyalert(paste("Welcome", value))}
这也可能是文档中显示的内容:https://github.com/daattali/shinyalert#chaining。
您的代码message("Hello ", x)
实际上可以按设计工作,因为它会将消息打印到控制台。
完整代码如下:
library(shiny)
library(shinyalert)
shinyApp(
ui = fluidPage(
useShinyalert(), # Set up shinyalert
actionButton("btn", "Greet")
),
server = function(input, output) {
observeEvent(input$btn, {
shinyalert(
"Enter your name", type = "input",
callbackR = function(value) { shinyalert(paste("Welcome", value))},
callbackJS = "function(x) { alert('Hello ' + x); }"
)
})
}
)