【问题标题】:Get available options from shiny widget从闪亮的小部件中获取可用选项
【发布时间】: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)
                     )
    })
)

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    没有一种简单的 Shiny 内置方法可以做到这一点。您必须使用 JavaScript 来查看选项是什么,或者将选项存储在反应变量中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-28
      • 2018-02-21
      • 2021-02-21
      • 1970-01-01
      • 1970-01-01
      • 2016-12-23
      • 1970-01-01
      • 2021-01-14
      相关资源
      最近更新 更多