将 pickerInput 下拉列表放在 confirmSweetAlert 按钮前面

Have pickerInput dropdown placed in front of confirmSweetAlert Buttons

我正在尝试将 pickerInput 下拉菜单放置在 confirmSweetAlert 按钮前面,但在 CSS 中使用 z-index 似乎不起作用。还有其他建议吗?

library(shiny)
library(shinyWidgets)


ui <- fluidPage(
  actionButton(
    inputId = "launch",
    label = "Launch Confirm!"
  )
)

server <- function(input, output, session) {
  
  # Launch sweet alert confirmation
  observeEvent(input$launch, {
    confirmSweetAlert(
      session = session,
      inputId = "test",
      title = "This is a Test!",
      type = "info",
      text = tags$div(
        div(style="position: relative; z-index: 1;", pickerInput(
          inputId = "numbers",
          multiple = TRUE,
          choices = 1:5,
          width = "100%"
        )),
      closeOnClickOutside = FALSE,
      html = TRUE
    ))
  })

}

if (interactive())
  shinyApp(ui, server)

您可以在 pickerInput 中使用 options = pickerOptions(container = "body") 将 select 附加到特定元素,在这种情况下 "body" 有助于定位菜单。

完整示例:

library(shiny)
library(shinyWidgets)


ui <- fluidPage(
  actionButton(
    inputId = "launch",
    label = "Launch Confirm!"
  )
)

server <- function(input, output, session) {
  
  # Launch sweet alert confirmation
  observeEvent(input$launch, {
    confirmSweetAlert(
      session = session,
      inputId = "test",
      title = "This is a Test!",
      type = "info",
      text = tags$div(
        pickerInput(
          inputId = "numbers",
          multiple = TRUE,
          choices = 1:5,
          width = "100%",
          options = pickerOptions(container = "body")
        ),
        closeOnClickOutside = FALSE,
        html = TRUE
      ))
  })
  
}

if (interactive())
  shinyApp(ui, server)