так что теперь он работает и добавил textInput тоже.
у использовать модальное окно внутри модуля Shiny. Пользователь взаимодействует с модальным окном, модуль обрабатывает вводимые пользователем данные.
В этом минимальном примере модуль должен удалить модальный режим, когда пользователь нажимает кнопку «Закрыть модальный режим»:
library(shiny)
# Modal module UI
modalModuleUI <- function(id) {
ns <- NS(id)
actionButton(ns("openModalBtn"), "Open Modal")
}
# Modal module server
modalModule <- function(input, output, session) {
myModal <- function() {
modalDialog(
action,Button("closeModalBtn", "Close Modal")
)
}
# Show modal dialog on start up
observeEvent(input$openModalBtn,
ignoreNULL = FALSE,
showModal(myModal())
)
# close modal on button click (not working)
observeEvent(input$closeModalBtn, {
removeModal()
})
}
# Main app UI
ui <- fluidPage(modalModuleUI("foo"))
# Main app server
server <- function(input, output, session) {
callModule(modalModule, "foo")
}
shinyApp(ui, server)
Однако нажатие на кнопку «закрыть модальное» не вызываетobserveEvent()
в функции сервера модуля. Я не могу понять, как получить доступ (т.е. наблюдать) к содержимому модального окна в модуле. Я думаю, это проблема пространства имен.
Изменить:интерактивный пример в настоящее время работает. Смотрите мой ответ ниже.