R Shinny-使用javascript直接从UI触发shinyalert弹出窗口
通过以下代码,我可以通过单击fileInput的问号触发纯javascriptR Shinny-使用javascript直接从UI触发shinyalert弹出窗口,r,shiny,shinyalert,R,Shiny,Shinyalert,通过以下代码,我可以通过单击fileInput的问号触发纯javascript警报: 我想知道我是否可以触发一个shinyalertpopup(),而不是在服务器端没有任何观察者的情况下直接从UI触发一个简单的javascript警报 比如: shinyalert("Oops!", "Something went wrong.", type = "error") 如果没有解决办法,也欢迎与观察员提出任何其他建议 这是我为数不多的几次回答自己的帖子之一,但在搜索了更多关于堆栈溢出的内容后,我发
警报:
我想知道我是否可以触发一个shinyalert
popup(),而不是在服务器端没有任何观察者的情况下直接从UI触发一个简单的javascript警报
比如:
shinyalert("Oops!", "Something went wrong.", type = "error")
如果没有解决办法,也欢迎与观察员提出任何其他建议 这是我为数不多的几次回答自己的帖子之一,但在搜索了更多关于堆栈溢出的内容后,我发现了一个受帖子启发的解决方法
我直接从网站下载了Sweet Alert库的sweetAlert.js
文件
我在我的应用程序的根目录中创建了一个www
文件夹
我在www
目录中添加了sweetAlert.js文件,并在ui.R的dashboardBody()中添加了以下行:
标记$head(标记$script(src=“sweetAlert.js”)
现在我可以用任何参数直接调用Swal.fire
函数,就像我在运行javascript的任何其他框架中通常所做的那样。这是我为数不多的几次回答我自己的帖子,但在搜索了更多关于堆栈溢出的内容后,我发现了一个受帖子启发的解决方法
我直接从网站下载了Sweet Alert库的sweetAlert.js
文件
我在我的应用程序的根目录中创建了一个www
文件夹
我在www
目录中添加了sweetAlert.js文件,并在ui.R的dashboardBody()中添加了以下行:
标记$head(标记$script(src=“sweetAlert.js”)
现在我可以用任何参数直接调用Swal.fire
函数,就像我在运行javascript的任何其他框架中通常所做的那样。我认为使用观察者一点都不麻烦
调用shinny.setInputValue(id,value),而不是alert()
,然后在服务器端可以observeEvent(输入[id],{shinyalert()})
有关详细信息,请阅读本文:
您只需要使用一个代码块就可以实现这一点
一个例子
在UI Javascript代码中定义自定义函数,并在onclick
中调用它。
您可以将此函数放在项目文件夹的“www”文件夹中的helper.js中,即www/helper.js
。通过标签$head(标签$script(src=“helper.js”)
然后在服务器端定义一次观察者
observeEvent(input$alertMessage, {
alertData <- input$alertMessage
req(alertData)
shinyalert("title", alertData$message, type = alertData$type)
})
observeEvent(输入$alertMessage{
alertData我认为使用观察者一点也不麻烦
调用shinny.setInputValue(id,value);
而不是alert()
,然后在服务器端可以observeEvent(input[id],{shinyalert()})
有关详细信息,请阅读本文:
您只需要使用一个代码块就可以实现这一点
一个例子
在UI Javascript代码中定义自定义函数,并在onclick
中调用它。
您可以将此函数放在项目文件夹的“www”文件夹中的helper.js中,即www/helper.js
。通过tags$head(tags$script(src=“helper.js”)
然后在服务器端定义一次观察者
observeEvent(input$alertMessage, {
alertData <- input$alertMessage
req(alertData)
shinyalert("title", alertData$message, type = alertData$type)
})
observeEvent(输入$alertMessage{
alertData我刚刚意识到,如果我像上面描述的那样合并sweetAlert.js文件,server.R中的shinyalert()函数将停止工作(可能是因为sweetAlert.js覆盖了useShinyalert()
),我刚刚意识到如果我像上面描述的那样合并sweetAlert.js文件,shinyalert()函数将停止工作server.R中的函数停止工作(可能是因为sweetAlert.js覆盖了useShinyalert()
)
observeEvent(input$alertMessage, {
alertData <- input$alertMessage
req(alertData)
shinyalert("title", alertData$message, type = alertData$type)
})