我有一个R Shiny应用程序,其中包含checkboxGroupInput,我试图使用updateCheckboxGroupInput函数创建一个“全选”按钮。 你可以看到下面的完整代码,但基本上我所定义的CB组这样的:R Shiny checkboxGroupInput - 通过点击选择所有复选框
checkboxGroupInput("campaigns","Choose campaign(s):",campaigns_list)
,然后点击一个按钮,调用函数:
updateCheckboxGroupInput(session,"campaigns","Choose campaign(s):",choices=campaigns_list,selected=campaigns_list)
我有一个迹象表明,该函数运行,但它所做的实际上是取消选择复选框。 顺便说一句,当我把所选定义的cbGroupInput放在它上面的时候,它确实起作用了,但不是在函数上。
谢谢!
这是我server.R:
library(shiny)
source('usefulFunctions.R')
shinyServer(function(input, output, session) {
output$cascading <- renderUI({
provider_id <- input$provider
if (provider_id == "") return(NULL)
campaigns_list <<- t(getCampaigns(provider_id))
tagList(
checkboxGroupInput("campaigns","Choose campaign(s):",
choices = campaigns_list, selected = campaigns_list),
actionLink("selectall","Select All")
)
})
observe({
if(is.null(input$selectall)) return(NULL)
if (input$selectall > 0)
{
print(campaigns_list)
updateCheckboxGroupInput(session,"campaigns","Choose campaign(s):",choices=campaigns_list,selected=campaigns_list)
}
})
})
的'shinyWidgets'库有一个很好的名为'pickerInput()'的函数,它带有一个很好的“全选/全选”界面,用于输入:https://dreamrs.github.io/shinyWidgets/index.html – 2018-02-15 22:19:26