如何在 R Shiny 中有选择地更改模态背景
How to selective change modal backdrop in R Shiny
我有两个模态框。当第一个打开时,背景应该是灰色的,这是默认的。但这不应该发生在第二个身上。代码是:
library(shiny)
ui <- fluidPage(
tags$style(type = 'text/css', '.modal-backdrop { display: none }'),
actionButton('modal1', 'Modal1'),
actionButton('modal2', 'Modal2'),
)
server <- function(input, output) {
observeEvent(input$modal1,
showModal(modalDialog(title = "Modal1"))
)
observeEvent(input$modal2,
showModal(modalDialog(title = "Modal2"))
)
}
shinyApp(ui = ui, server = server)
css代码应该连接到第二个模态对话框的id,但是函数中不能包含id 'modalDialog'。
关于如何将 css 代码选择性地仅应用于第二个模态的任何想法?
您可以添加 JS 代码以在 modalDialog
之后使用 tags$script
显示第二个模态后隐藏背景。
library(shiny)
ui <- fluidPage(
actionButton('modal1', 'Modal1'),
actionButton('modal2', 'Modal2'),
)
server <- function(input, output) {
observeEvent(input$modal1,
showModal(modalDialog(title = "Modal1"))
)
observeEvent(input$modal2, {
showModal(
list(
modalDialog(title = "Modal2"),
tags$script("$('.modal-backdrop').css('display', 'none');")
)
)
})
}
shinyApp(ui = ui, server = server)
我有两个模态框。当第一个打开时,背景应该是灰色的,这是默认的。但这不应该发生在第二个身上。代码是:
library(shiny)
ui <- fluidPage(
tags$style(type = 'text/css', '.modal-backdrop { display: none }'),
actionButton('modal1', 'Modal1'),
actionButton('modal2', 'Modal2'),
)
server <- function(input, output) {
observeEvent(input$modal1,
showModal(modalDialog(title = "Modal1"))
)
observeEvent(input$modal2,
showModal(modalDialog(title = "Modal2"))
)
}
shinyApp(ui = ui, server = server)
css代码应该连接到第二个模态对话框的id,但是函数中不能包含id 'modalDialog'。
关于如何将 css 代码选择性地仅应用于第二个模态的任何想法?
您可以添加 JS 代码以在 modalDialog
之后使用 tags$script
显示第二个模态后隐藏背景。
library(shiny)
ui <- fluidPage(
actionButton('modal1', 'Modal1'),
actionButton('modal2', 'Modal2'),
)
server <- function(input, output) {
observeEvent(input$modal1,
showModal(modalDialog(title = "Modal1"))
)
observeEvent(input$modal2, {
showModal(
list(
modalDialog(title = "Modal2"),
tags$script("$('.modal-backdrop').css('display', 'none');")
)
)
})
}
shinyApp(ui = ui, server = server)