【发布时间】:2015-10-08 21:01:23
【问题描述】:
是否可以获得闪亮小部件的可用选项(即,来自 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)
)
})
)
【问题讨论】: