当用户启动应用程序时,我想显示一个模式。为此,我使用了这个答案。但是,当单击应该关闭模态的按钮时,出现错误:
警告:错误:$运算符对原子向量无效
显然,此错误是由于某种原因造成的,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)
该toggleModal
函数在会话参数中需要实际的会话函数,而不是字符串“ session”。您可能会从这里注意到。
toggleModal(session=session,
modalId="window",
toggle="close")