我希望你一切都好。
我会在 checkboxGroupButtons 中添加一个“无”按钮。所以,如果我用文字来解释,我会添加一个按钮“无”(在我的例子中还有其他按钮->“核”、“水电”、“太阳能”、“风”),当你点击这个按钮时“无”,取消选择所有其他按钮。
这是一个带有“无”按钮的示例,但不在 checkboxGroupButtons 内。
我尝试做类似的事情,但我错了。在我闪亮的应用程序中,当您单击“无”按钮时,没有选择任何响应(没错)。但是,如果我之前点击其他按钮(例如“Nuclear”) - 然后点击“None”按钮 - 所有响应都会保留(这是错误的)。我认为问题出在这里:“if (input$btn == 5)”。我不知道逻辑运算符“至少 5”而不是“==5”。
在此先感谢,Aurélien。
library(shiny)
library(shinyWidgets)
ui <- fluidPage(
checkboxGroupButtons(
inputId = "btn", label = "Power :",
choices = c("Nuclear" = 1, "Hydro" = 2, "Solar" = 3, "Wind" = 4, "None" = 5),
selected = ""),
verbatimTextOutput(outputId = "res"))
server <- function(input,output, session){
observeEvent(input$btn, {
if (input$btn == 5) {
updateCheckboxGroupButtons(session, "btn", selected = character(0))
} else {
updateCheckboxGroupButtons(session, "btn", selected = input$btn)
}
}, ignoreInit = TRUE)
output$res <- renderPrint({
input$btn
})
}
shinyApp(ui = ui, server = server)