如何关闭模态框

问题描述 投票:0回答:1

我有一个在访问页面时显示的模式。当单击 Auth 按钮时,模式应该关闭。在服务器部分,我在

observeEvent
上使用了
b_auth
Auth 按钮 ID )并输入
removeModal()
函数。当我单击 Auth 按钮时,模式不会关闭。

library(shiny); library(shinydashboard)

fmodal <- function(){modalDialog(id = "authModal",title = "title", textOutput("modalMessage"), textInput("username", "username", value = "username"), passwordInput("password", "password", value = "password"), footer = tagList(
      actionButton("b_auth", "Auth"), modalButton("Cancel")))
}

ui <- dashboardPage(dashboardHeader(title = "Basic dashboard"), dashboardSidebar(sidebarMenu(menuItem("Accueil", tabName = "dashboard", icon = icon("dashboard")))), dashboardBody(tabItems(tabItem(tabName = "dashboard",
fmodal() ))))

server <- function(input, output, session) {
  observeEvent(input$b_auth, {
    removeModal() })}

shinyApp(ui = ui, server = server)
r shiny shinydashboard
1个回答
1
投票

将模态移动到服务器是可行的:

library(shiny); library(shinydashboard)

fmodal <- function(){modalDialog(id = "authModal",title = "title", textOutput("modalMessage"), textInput("username", "username", value = "username"), passwordInput("password", "password", value = "password"), footer = tagList(
    actionButton("b_auth", "Auth"), modalButton("Cancel")))
}

ui <- dashboardPage(dashboardHeader(title = "Basic dashboard"), dashboardSidebar(sidebarMenu(menuItem("Accueil", tabName = "dashboard", icon = icon("dashboard")))), dashboardBody(tabItems(tabItem(tabName = "dashboard"))))

server <- function(input, output, session) {
    
    showModal(fmodal())
    
    observeEvent(input$b_auth, {
        removeModal() })}

shinyApp(ui = ui, server = server)
© www.soinside.com 2019 - 2024. All rights reserved.