You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R Shiny如何实现勾选checkboxInput后展开可关闭选项面板

实现方案

你需要借助shinyjs包控制组件的显隐状态,修改后的完整可运行代码如下:


1. UI代码修改

library(shiny)
library(shinydashboard)
library(shinyjs)

ui <- dashboardPage(
    dashboardHeader(title = "X"),
    dashboardSidebar(
        useShinyjs(), # 启用shinyjs功能
        checkboxInput("choice", "Are you into it?"),
        # 独立选项区块,初始默认隐藏
        hidden(
            div(id = "extra_options_block",
                style = "border: 1px solid #e0e0e0; border-radius: 4px; padding: 12px 8px; margin: 8px 0; position: relative;",
                # 右上角关闭按钮
                actionButton("close_block", "×", 
                             style = "position: absolute; top: 2px; right: 8px; border: none; background: transparent; font-size: 22px; padding: 0; color: #666;"),
                checkboxGroupInput("stages", "Stages: ", choices = c("First", "Second", "Third")),
                selectInput("status", "Status of this card: ", choices = c(" ", "Active", "Closed")),
                dateInput(inputId = "date", label = "Choose date : "),
                sliderInput(inputId = "inactivity", label = "Time of inactivity ", min = 6, max = 24, value = 10)
            )
        )
    ),
    dashboardBody(
        dataTableOutput(outputId = "table")
    )
)

2. 服务端控制逻辑

server <- function(input, output, session) {
    # 监听choice复选框状态,控制区块显隐
    observeEvent(input$choice, {
        if (input$choice) {
            show("extra_options_block")
        } else {
            hide("extra_options_block")
        }
    })

    # 监听关闭按钮点击,联动取消choice勾选并隐藏区块
    observeEvent(input$close_block, {
        updateCheckboxInput(session, "choice", value = FALSE)
        hide("extra_options_block")
    })

    # 此处补充你原有表格渲染逻辑
    output$table <- renderDataTable({
        head(iris)
    })
}

# 运行应用
shinyApp(ui, server)

功能说明

  • 勾选ID为choice的复选框后自动展开独立选项区块,取消勾选自动隐藏区块
  • 点击区块右上角的关闭按钮,会同步取消choice的勾选状态,同时隐藏区块
  • 区块默认加了边框样式标识独立性,你可以调整style参数自定义外观

内容的提问来源于stack exchange,提问作者jjrose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:39:00