如何禁用shinydashboard中的tabPanel?shinydashboard、tabPanel

2023-09-03 14:00:51 作者:岳母求发货

有没有办法在单击actionButton之前禁用tabPanel?我试着用shinyjs来做这件事,但没有奏效。目前,我的uI.R有以下代码。我想禁用‘Filter’选项卡面板,直到单击LoadButton。 `

body <- dashboardBody(
    useShinyjs(),
    tabsetPanel(id = "tabs", type = 'pills',
        tabPanel("Load", dataTableOutput("loadTab")),
        tabPanel("Filter", id='filterTab',dataTableOutput("filteredResults"))
    ))
sidebar <- dashboardSidebar(
        sidebarMenu(
         selectInput(inputId = "datasetName",label = 'Dataset',  choice=c('Cancer','Normal')),
         actionButton("loadButton", label = "Load")
        ))

` 如有任何帮助,我们不胜感激。

推荐答案

基于shinydashboard搭建你的仪表板 一

我让它与Shinyjs一起工作。 `

    jsCode <- "
shinyjs.disableTab = function() {
    var tabs = $('#tabs').find('li:not(.active) a');
    tabs.bind('click.tab', function(e) {
        e.preventDefault();
        return false;
    });
    tabs.addClass('disabled');
}
shinyjs.enableTab = function(param) {
    var tab = $('#tabs').find('li:not(.active):nth-child(' + param + ') a');
    tab.unbind('click.tab');
    tab.removeClass('disabled');
}

" ` 然后根据需要启用和禁用选项卡。