我已经创建了一个闪亮的模块,并且想通过单击按钮(或者也将其删除)将模块的副本动态添加到侧边栏。
我创建了一个名为index的闪亮模块(及其UI元素和其功能)。服务器端返回一个反应式表达式,最后我将它们组合在一起以创建过滤器。这些元素中的每一个都返回一个反应性元素,一旦按下按钮,就会创建最终的过滤器。现在,我需要手动添加要使用的过滤器数量(在此示例中,有3种不同的过滤器)。我希望能够动态添加过滤器。
我想要的是一个在单击时创建的按钮,将创建一个新的indexUI
,并且在按下操作按钮时,它会循环浏览到目前为止创建的所有indexUI
ui <- fluidPage(
sidebarPanel(
indexUI("filter1",shape_option = shape_option),
indexUI("filter2",shape_option = shape_option),
indexUI("filter3",shape_option = shape_option),
actionButton("goButton", "Go!"),
)
)
server <- function(input, output, session) {
index1<-callModule(index,"filter1",meta_file)
index2<-callModule(index,"filter2",meta_file)
index3<-callModule(index,"filter3",meta_file)
index_glob<-reactive({
input$goButton
ind<-isolate(index1()$index & index2()$index & index3()$index)
ind
})
我想也许与renderUI和insertUI一起使用,但不确定如何将其与模块结合使用,特别是因为我需要创建的每个模块的反应式表达式。