Я хочу динамически добавлять модули в приложение, используя insertui, и удалять пользовательский интерфейс.Я могу добавить части модуля правильно, но я могу удалить их.Я считаю, что проблема с селектором для удаляемой части.Кроме того, я не смог найти, как получить доступ к списку x в модуле сервера из приложения.
library(shiny)
index_dUI<-function(id){
ns<-NS(id)
tagList(
selectInput(inputId = ns("filter"),label="Subset by",choices=c("none",c(1:3)),selected="none"),
selectInput(inputId = ns("filter_val"),label="options",choices=c("none",c(1:3)),selected="none")
)
}
index_d<-function(input,output,session){
x<-reactive({
list(input$filter,input$filter_val)
})
x
}
ui <- fluidPage(
actionButton('add', '+'),
actionButton('remove', '-'),
tags$div(id = 'placeholder') )
server <- function(input, output, session) {
uiCount = reactiveVal(0)
moduleOuts = reactiveValues()
observeEvent(input$add, {
uiCount(uiCount()+1)
insertUI('#placeholder',
'beforeBegin',
index_dUI(paste0("module",uiCount())))
callModule(
module = index_d,
id = paste0("module",uiCount()))
})
observeEvent(input$remove,{
removeUI(
selector = paste0("#module",uiCount())
)
uiCount(uiCount()-1)
})
index_glob<-reactive({
input$goButton
})
}
shinyApp(ui = ui, server = server)