Кнопка закрытия модального окна выдает ошибку: `оператор $ недопустим для атомов c векторов` - PullRequest
0 голосов
/ 31 января 2020

Я хотел бы отобразить модальный режим, когда пользователь запускает приложение. Для этого я использовал этот ответ . Однако при нажатии на кнопку, которая должна закрыть модальное окно, у меня появляется ошибка:

Предупреждение: ошибка в: $ оператор недопустим для атомов c векторов

Видимо, эта ошибка связана с чем-то в observeEvent, но я не могу понять, что это за ошибка. Как я могу решить эту проблему?

Воспроизводимый пример:

library(shiny)
library(shinyBS)

popup <- bsModalNoClose("window", "Window",
                        title="Click 'Choice 1' to close the popup", size='small',
                        actionButton('choice1', 'Choice 1', class = 'btn action-button btn-success'),
                        actionButton('choice2', 'Choice 2', class = 'btn action-button btn-success'),
                        tags$head(tags$style("#window .modal-footer{display:none}
                                       .modal-header"),
                                  tags$script("$(document).ready(function(){
                                        $('#window').modal();
                                        });")
                        ))

ui <- shinyUI(fluidPage(
  popup
))

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

  observeEvent(input$choice1, {
    toggleModal(session = "session",
                modalId = "window",
                toggle = "close")
  })

})
shinyApp(ui, server)

1 Ответ

1 голос
/ 31 января 2020

Функция toggleModal требует в аргументе сеанса фактическую функцию сеанса, а не строку "сеанс". Что вы можете заметить из здесь .

toggleModal(session=session,
            modalId="window",
            toggle="close")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...