r语言 - 不能得到bsModal触发闪亮模块



我试图在一个闪亮的应用程序中创建和触发一个bsModal,使用模块,我不能让它用一个动作按钮打开。我最初的想法是,它与动作按钮ID上的ns()函数有关,但我尝试过使用带有和不带有ns()的触发器ID,两者都没有工作。我创建了下面的例子来模拟这个问题。

test_mod_ui <- function(id) {
ns <- NS(id)
sidebarLayout(
sidebarPanel(
actionButton(ns("test"), "Show Plot")
), 
mainPanel(
plotOutput(ns("cars")),
shinyBS::bsModal(
id = "modal_example",
title = "Example",
trigger = ns("test"),
size = "large",
plotOutput(ns("cars_modal"))
)
)
)
}
test_mod_server <- function(id) {
moduleServer(id, function(input, output, session) {
ns <- session$ns

output$cars <- renderPlot(
pairs(
~mpg+disp+drat+wt,
data=mtcars,
main="Simple Scatterplot Matrix"
)
)

output$cars_modal <- renderPlot(
pairs(
~mpg+disp+drat+wt,
data=mtcars,
main="Simple Scatterplot Matrix"
)
)
})  
}

ui <- fluidPage(
tagList(
test_mod_ui("test")
)
)
server <- function(input, output) {
test_mod_server("test")
}
shinyApp(ui, server)

显示操作按钮和cars_modal绘图,但是单击操作按钮应该打开一个具有相同绘图的新窗口,但是没有。

您必须加载shinyBS包。

library(shiny)
library(shinyBS)
......

然后它工作得很好(你可以删除shinyBS::)。

相关内容

  • 没有找到相关文章

最新更新