如何在R Shiny应用中使用shinyalert替代modalDialog实现弹窗功能
实现方案
可行性说明
该需求完全可以实现,只需对原有代码做少量调整即可。
操作步骤
- 先安装shinyalert依赖包(若已安装可跳过),运行以下命令完成安装:
install.packages("shinyalert") - 引入
shinyalert包,原有未用到的shinyBS包可直接移除 - 在UI代码中添加
useShinyalert()完成组件初始化 - 将
observeEvent触发逻辑中原有的showModal代码块替换为你提供的shinyalert配置即可
完整可运行代码
library(shiny) library(shinyalert) ui <- fluidPage( useShinyalert(), # 必须添加的初始化语句 actionButton("tabBut", "View Table") ) server <- function(input, output){ observeEvent(input$tabBut, { shinyalert( title = "Hello", text = "This is a modal", size = "s", closeOnEsc = TRUE, closeOnClickOutside = FALSE, html = FALSE, type = "success", showConfirmButton = TRUE, showCancelButton = FALSE, confirmButtonText = "OK", confirmButtonCol = "#AEDEF4", timer = 0, imageUrl = "", animation = TRUE ) }) } shinyApp(ui = ui, server = server)
内容的提问来源于stack exchange,提问作者nls1200
相关产品推荐
相关产品推荐

