r блестящий скрыть / показать все отмеченные флажки - PullRequest
0 голосов
/ 07 мая 2018

Я хотел бы просто скрыть или показать все отмеченные флажки в R блестящий, следующий код может быть использован в качестве ссылки:

ui <- shinyUI({
  library(shiny)
  library(shinyjs)

  shinyUI(fluidPage(

    shinyjs::useShinyjs(),

    actionButton(inputId = "fishButton",  label = "Fish"),
    checkboxInput(inputId = "hide_show_checked", label = "Hide/Show all checked checkbozes"),
    hidden(
      checkboxGroupInput(inputId = "Check1",
                         label   = h4("Fish:"), 
                         choices = c("Bass", "Shark", "Tuna"))
    )
  ))
})


serv <- shinyServer({
  library(shiny)
  library(shinyjs)

  shinyServer(function(input, output) {
    observeEvent(input$fishButton, {
      toggle("Check1")
    })
  })
})

shinyApp(ui,serv)

Я уверен, что мне нужно было бы добавить событие наблюдения на серверечасть, но я склонен переосмыслить это, создавая повторяющиеся группы флажков и отображая группу флажков 1, если флажок, и отображая группу флажков 2, если не отмечен ... Это приведет к большому дублированию в моем реальном коде (у меня есть больше1000 групп флажков)

Спасибо !!

1 Ответ

0 голосов
/ 07 мая 2018
ui <- fluidPage(

    checkboxInput(inputId = "hide_show_checked", label = "Hide/Show all checked checkbozes"),
    checkboxGroupInput(inputId = "Check1",
                 label   = h4("Fish:"), 
                 choices = c("Bass", "Shark", "Tuna")),
    verbatimTextOutput("value")

)

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

   output$value <- renderPrint({ input$Check1})

   observe({

      if(input$hide_show_checked) {

             #x <- ifelse(data %in% c("Bass", "Shark", "Tuna"), data, "NA")

             data <- isolate(input$Check1)
             y <- c("Bass", "Shark", "Tuna")
             x <- y[!y %in% data]
   #y[-match(data,y)] OR setdiff(data,y)

  updateCheckboxGroupInput(session, "Check1",label = paste("Checkboxgroup label", length(x)),choices = x,selected = x)
} else {
  updateCheckboxGroupInput(session, "Check1",label = "Checkboxgroup label", choices = c("Bass", "Shark", "Tuna"),selected = NULL)
 }
   })
}

shinyApp(ui, server)  

Надеюсь, это поможет;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...