shiny - Rshiny - 动态 ID 条件面板
问题描述
我是 Rshiny 的新手,这是我的第一个问题。
我正在尝试为文件夹中的每个数据集插入一个复选框和一个条件面板。如何使条件面板仅在选中复选框时可见?
由于 id 是动态的,我无法访问它的值。请帮助我,TIA
dataDetails <- function(id,nameDef) {
shiny::tags$div(
class="dataSource",
fillRow(
checkboxInput(inputId = paste0("dataSource-", id),
label = nameDef,
width = "100%"),
conditionalPanel(paste0("input.dataSource-",id),
# uiOutput("dataSourcesDate"))
actionButton("dfcvs","dfvs")
)
),
br(),
hr()
)
}
lapply(list.files(path = "savefiles"), function(x) {
insertUI(
selector = '#dataSources',
ui = tagList(dataDetails(
id = x,
nameDef = x
))
)
})
解决方案
通常最好的做法是包含代码的最小工作示例,以便人们可以看到您正在尝试做什么。checkboxInput 在未选中时取值为 0,在选中时取值为 1。下面的代码显示了一个简单的工作示例,说明如何让 conditionalPanel 与您的 checkboxInputs 一起工作:
library(shiny)
ui <- shinyUI(
fluidPage(
checkboxInput("checkbox1", "Check Box 1", value = FALSE),
checkboxInput("checkbox2", "Check Box 2", value = FALSE),
checkboxInput("checkbox3", "Check Box 3", value = FALSE),
checkboxInput("checkbox4", "Check Box 4", value = FALSE),
conditionalPanel("input.checkbox1 == 1", "Check Box 1 Ticked"),
conditionalPanel("input.checkbox2 == 1", "Check Box 2 Ticked"),
conditionalPanel("input.checkbox3 == 1", "Check Box 3 Ticked"),
conditionalPanel("input.checkbox4 == 1", "Check Box 4 Ticked")
)
)
server <- shinyServer(
function(input, output, session) {
}
)
shinyApp(ui = ui, server = server)
推荐阅读
- java - JPARepository, name method to return field with "text" included
- node.js - 在 Windows 上安装 AWS Amplify CLI 失败?
- mysql - MySQL GROUP_CONCAT 与 SUM() 和子查询内的多个 JOIN
- php - 为什么有些文本没有用 phpexcel 导出到 excel 中,而是显示在我的数据库和数组中?
- python - 如何可靠地解析 git config --list 的输出?
- angular - 如何在延迟加载的功能模块中创建子路由器插座?
- asp.net-core - 将部署到 IIS 7.5 的 asp.net core mvc 2.2 升级到 3.0 应用程序后,8.5 无法正常工作
- java - 从 Firebase Firestore 获取部分文档到对象中
- node.js - 运行 npm install -g @angular/cli 时没有可用于 undefined 的有效版本
- powershell - 在 PowerShell Core 脚本中使用 .NET Core 接口 IWebProxy