shiny - 在闪亮的模式中动态显示/隐藏 tabPanels
问题描述
我正在尝试在我的应用程序的闪亮“模态”中动态显示/隐藏 tabPanel,但我无法解决。如果我使用我当前的代码并将 tabPanels 简单地放在应用程序的主体中,则代码工作得很好,所以似乎应用程序无法识别它必须在模式内显示/隐藏面板。
library(shiny)
tabPanel_modal<-function() {
modalDialog(
tabsetPanel(
id = "available_tabs",
tabPanel(
title = "Tab A",
value = "tab_a"
),
tabPanel(
title = "Tab B",
value = "tab_b"
),
tabPanel(
title = "Tab C",
value = "tab_c"
)
)
,
size = "l",
footer = tagList(
modalButton("Close")
)
)
}
ui <- shinyUI(
fluidPage(
checkboxGroupInput(
inputId = "tab_selections",
label = "select tabs to include in the modal",
choiceNames = list("Tab A",
"Tab B",
"Tab C"
),
choiceValues = c("a","b","c")
),
actionButton("start_modal","Start modal")
)
)
server <- shinyServer(function(input,output,session){
observeEvent(input$start_modal,{
showModal(tabPanel_modal())
})
observe({
hideTab(inputId = "available_tabs", target = "tab_a")
hideTab(inputId = "available_tabs", target = "tab_b")
hideTab(inputId = "available_tabs", target = "tab_c")
})
observeEvent(input$start_modal, {
if ("a" %in% input$tab_selections){
showTab(inputId = "available_tabs", target = "tab_a")
}
if ("b" %in% input$tab_selections){
showTab(inputId = "available_tabs", target = "tab_b")
}
if ("c" %in% input$tab_selections){
showTab(inputId = "available_tabs", target = "tab_c")
}
})
})
shinyApp(ui = ui, server = server)
解决方案
推荐阅读
- excel - 用不同的键求和值
- c - c - 使用 passByValue 对 20 个整数进行排序
- perl - 识别机器/用户 ID Perl
- apache - 从 PHP 执行 python 脚本获得“权限被拒绝”
- openlayers - 如何在 OpenLayers 地图图层中获取所有先前选择的功能?
- tensorflow - 使用 TensorFlow 分析器测量 GPU 内存使用情况
- scala - Akka Streams 中的连接流
- laravel - AWS S3 拒绝 deleteDirectory() 请求,即使 delete() 有效
- css - 带有 R 包 r2d3 的 D3 脚本的示例 CSS?
- r - gganimate 0.9.9.9 中的累积图