首页 > 解决方案 > 覆盖 R Shiny 模态对话框中的关闭按钮

问题描述

我在 R Shiny 中使用模态对话来获取用户的输入。在此表单中,默认情况下有一个关闭按钮,单击该按钮会关闭该表单。单击关闭按钮时,我想添加一个确认弹出窗口(sweetAlert)。

我也准备好使用 javascript,但我需要 sweetAlert 而不是 windows 警报。我也无法成功生成 Windows 警报。

如何覆盖此内置“关闭”按钮的功能?我想在有人单击解雇时显示警告,并仅在他们确定时才让他们继续。否则我想让他们留在模态对话中。

任何帮助表示赞赏。

标签: javascriptrshinymodal-dialogsweetalert

解决方案


这是一个方法。代码相当简单。-

library(shiny)

ui <- fluidPage(
  actionButton("show", "Show Modal")
)

server <- shinyServer(function(input, output, session) {
  observeEvent(input$show, {
    showModal(
      modalDialog(
        "some messsage", title = "modal", footer = actionButton("confirm", "Close")
      )
    )
  })

  observeEvent(input$confirm, {
    showModal(
      modalDialog(
        "are you sure?",
        footer = tagList(
          actionButton("yes", "Yes"),
          modalButton("No")
        )
      )
    )
  })

  observeEvent(input$yes, {
    removeModal()
    # do something after user confirmation
  })
})

shinyApp(ui, server)

推荐阅读