是否可以获得闪亮小部件的可用选项(即来自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 :(得分:0)
没有简单的Shiny内置方法可以做到这一点。您必须使用JavaScript查看选项,或将选项存储在反应变量中