2015-10-08 21 views
0

是否有可能獲得閃亮部件的可用選項(即checkboxInput中所有可能的複選框)?從閃亮部件獲取可用選項

我有一些複選框輸入,其中可用的檢查選項依賴於其他輸入 - 它們由觀察者更新。然後,假設我想要一個用戶可以點擊的按鈕,並且將檢查當前可用的所有複選框。

這裏是一個說明性示例,我嘗試使用updateCheckboxGroupInput和變量input$options更新複選框。但是,這不起作用,因爲input$options只是當前選中的框,所以按鈕不起作用。

是否已經存在包含所有可用複選框的變量,或者是否需要使用此信息維護另一個反應變量?

library(shiny) 

shinyApp(
    shinyUI(
     fluidPage(
      uiOutput('ui') 
     ) 
    ), 

    shinyServer(function(session, input, output) { 
     output$ui <- renderUI({ 
      inputPanel(
       checkboxGroupInput('options', 'Current Options:', 
            choices=letters, selected='a', inline=TRUE), 
       column(width = 2, 
        actionButton('subset', 'Subset the options'), 
        actionButton('selectAll', 'Select All')) 
      ) 
     }) 

     ## Observers for buttons 
     observeEvent(input$subset, 
        updateCheckboxGroupInput(session, 
               inputId='options', 
               choices=sample(letters, 10), 
               inline=TRUE) 
        ) 

     observeEvent(input$selectAll, 
        updateCheckboxGroupInput(session, 
               inputId='options', 
               ## *** What do I put here for selected? *** 
               selected=input$options, 
               inline=TRUE) 
        ) 
    }) 
) 

回答

0

沒有做一個簡單的閃亮內建的方法。您必須使用JavaScript來查看選項,或將選項存儲在反應變量中