R 闪亮使用 css 和模态对话框

R shiny using css with modal dialog

我想在 R shiny 应用程序中使用某种 css 样式的模态对话框。我可以在没有 css 样式的情况下使用模态对话框,并且可以在没有模态对话框的情况下使用 css 样式。但是,如果我同时尝试 运行 模态对话框和 css 样式,模态对话框将不再显示。

以下代码可用于重现我的结果。我的 css 样式表完全来自 https://bootswatch.com/,它需要保存在一个名为 www 的子目录中。要查看各种结果,请注释并取消注释行 theme = "bootstrap-flatly.css":

shinyApp(ui=fluidPage(
  theme = "bootstrap-flatly.css",
  h1("Heading"),
  div("Some text"),
  selectInput("selectInput", "SomeInput", c(1,2,3),selected = NA, multiple = TRUE),
  actionButton("print","print")
),
server <- function(input,output){
  showModal(modalDialog(
    title = "My message",
    easyClose = FALSE,
    footer = actionButton("closemodal", "OK")
  ))
  observeEvent(
    {
      input$closemodal
    },{
      removeModal()})
  observeEvent(input$print, reactiveValuesToList(input) %>% print)
}
)

任何人都可以解释这种行为并提示我如何让 css 样式与我的模态对话框一起工作吗?

提到了这个问题 但我无法将解决方案应用于您的情况(我尝试修改 css 文件以包含 .modal {z-index: 1050;} 但没有成功)。

另一种方法是使用 shinythemes 包,它提供 flatly 主题,无需下载任何内容。

library(shiny)
library(shinythemes)

shinyApp(ui=fluidPage(
  theme = shinytheme("flatly"),
  h1("Heading"),
  div("Some text"),
  selectInput("selectInput", "SomeInput", c(1,2,3),selected = NA, multiple = TRUE),
  actionButton("print","print")
),
server <- function(input,output){

  showModal(modalDialog(
    title = "My message",
    easyClose = FALSE,
    footer = actionButton("closemodal", "OK")
  ))

  observeEvent(
    {
      input$closemodal
    },{
      removeModal()})
  observeEvent(input$print, reactiveValuesToList(input) %>% print)
}
)