gpt4 book ai didi

r - Shiny 的标签$样式特定模态对话框元素

转载 作者:行者123 更新时间:2023-12-02 05:38:25 24 4
gpt4 key购买 nike

我认为是基本语法问题,但我坚持不下去。我有一个应用程序,其中包含我尝试设计的许多元素,例如 modalDialogs。如何使此代码仅特定于 modaldialog 1,而不适用于 modaldialog 2?

tags$head(tags$style(".modal-body {padding: 10px}
.modal-content {-webkit-border-radius: 6px !important;-moz-border-radius: 6px !important;border-radius: 6px !important;}
.modal-dialog { width: 240px; display: inline-block; text-align: left; vertical-align: top;}
.modal-header {background-color: #339FFF; border-top-left-radius: 6px; border-top-right-radius: 6px}
.modal { text-align: right; padding-right:10px; padding-top: 24px;}
.close { font-size: 16px}"))

完整演示应用程序:

library(shiny)

ui <- fluidPage(
tags$head(tags$style(".modal-body {padding: 10px}
.modal-content {-webkit-border-radius: 6px !important;-moz-border-radius: 6px !important;border-radius: 6px !important;}
.modal-dialog { width: 240px; display: inline-block; text-align: left; vertical-align: top;}
.modal-header {background-color: #339FFF; border-top-left-radius: 6px; border-top-right-radius: 6px}
.modal { text-align: right; padding-right:10px; padding-top: 24px;}
.close { font-size: 16px}")),
h5("Hello there"), # First text on the window
br(), # empty line
actionButton(inputId = "ClickonMe", label = "button1"), # button 1
actionButton(inputId = "ClickonMe2", label = "button2") # button 2
)

server <- function(input,output,session) {

observeEvent(input$ClickonMe,{
showModal(modalDialog(
inputId = 'Dialog1',
title = HTML('<span style="color:white; font-size: 20px; font-weight:bold; font-family:sans-serif ">Display help popups<span>
<button type = "button" class="close" data-dismiss="modal" ">
<span style="color:white; ">x <span>
</button> '),
easyClose = TRUE,
footer = NULL ))
})

observeEvent(input$ClickonMe2,{

showModal(modalDialog(
inputId = 'Dialog2',
title = HTML('<span style="color:white; font-size: 20px; font-weight:bold; font-family:sans-serif ">Display help popups<span>
<button type = "button" class="close" data-dismiss="modal" ">
<span style="color:white; ">x <span>
</button> '),
easyClose = TRUE,
footer = NULL ))
})


}

shinyApp(ui, server)

如果可以的话,感谢您的帮助!

标记

最佳答案

一种可能性:将模态框包含在带有 id 的 div 容器内(例如 modal1):

showModal(tags$div(id="modal1", modalDialog(
inputId = 'Dialog1',
title = HTML('<span style="color:white; font-size: 20px; font-weight:bold; font-family:sans-serif ">Display help popups<span>
<button type = "button" class="close" data-dismiss="modal" ">
<span style="color:white; ">x <span>
</button> '),
easyClose = TRUE,
footer = NULL )))

然后使用这个CSS:

  tags$head(tags$style("#modal1 .modal-body {padding: 10px}
#modal1 .modal-content {-webkit-border-radius: 6px !important;-moz-border-radius: 6px !important;border-radius: 6px !important;}
#modal1 .modal-dialog { width: 240px; display: inline-block; text-align: left; vertical-align: top;}
#modal1 .modal-header {background-color: #339FFF; border-top-left-radius: 6px; border-top-right-radius: 6px}
#modal1 .modal { text-align: right; padding-right:10px; padding-top: 24px;}
#modal1 .close { font-size: 16px}"))

关于r - Shiny 的标签$样式特定模态对话框元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46830173/

24 4 0