我遇到了以下问题
使用ShinyAlert *如果我将一个imageUrl添加到邮件中,如果它是一个互联网网址,没问题,则会显示该消息,图像会立即显示,然后运行其他代码段, 但 如果它是我的硬盘上的图像,则会发生这种情况: 没有图像的消息打开 消息运行后的其他代码 然后图像出现..
我很无能为力,为什么我现在在3台不同的电脑上试过它,并用js swal方法测试它,同样的问题:
library(shiny)
library(sweetalertR)
library(shinyjs)
library(shinydashboard)
ui <- fluidPage(
shinyjs::useShinyjs(),
useShinyalert(),
textInput("expr", label = "Enter an R expression",
value = "bio",width="600px"),
actionButton(inputId ="mybutton", "Run")
)
server <- function(input, output, session) {
shinyEnv <- environment()
observeEvent(input$mybutton, {
print(getwd())
shinyalert(title = 'hello', imageUrl ="insert http url or local disk path/name.png", imageSize = "80x80")
for (i in 1:50000){ print(i) ### see if picture in message shows up before this code runs
}
})
}
shinyApp(ui = ui, server = server)
EXTRA示例我如何使用jscode
对其进行编码swal5 = function(params) {
var defaultParams = {
title : null,
text : null,
type : null
};
params = shinyjs.getParams(params, defaultParams);
swal({title : params.title, text : params.text, type : params.type,
showCancelButton : true,
cancelButtonText : "No, cancel please!",
showConfirmButton : true,
confirmButtonText : "Yes, merge the files!",
closeOnCancel : true,
closeOnConfirm: false},
evalFunction = function(isConfirm){
if (isConfirm === true) {
var val1= 1;
Shiny.onInputChange("MergeRaw_OP", [val1, Math.random()]);}
});
};
答案 0 :(得分:1)
您的代码(至少是第一个代码,还没有尝试过第二个代码)实际上并不正确并且有许多额外的代码无法执行任何操作。无需加载shinyjs,shinydashboard,以保存环境,sweetalertR
是错误的包。当我尝试运行该代码块的正确和最小版本时,它确实适用于我。
library(shinyalert)
library(shiny)
ui <- fluidPage(
useShinyalert(),
actionButton(inputId ="mybutton", "Run")
)
server <- function(input, output, session) {
observeEvent(input$mybutton, {
shinyalert(title = 'hello', imageUrl ="http://deanattali.com/img/deanimg.jpeg", imageSize = "80x80")
for (i in 1:50000){ print(i) }
})
}
shinyApp(ui = ui, server = server)