gpt4 book ai didi

r - 如何更改主面板中每个 tabPanel 的 sidebarPanel

转载 作者:行者123 更新时间:2023-12-04 08:50:01 25 4
gpt4 key购买 nike

我想开发一个布局类似于 Shiny 画廊中的 Radiant ( https://shiny.rstudio.com/gallery/radiant.html ) 的应用程序。在该应用程序中,存在于 mainPanel 中的每个 tabPanel 的 sidebarPanel 都会发生变化。这是如何实现的?这张图片显示了我的布局,我希望 sidebarPanel(现在是空的)根据用户选择的选项卡(元数据、原始数据、QC 数据)进行更改。有人知道如何执行此操作,或者您能指出 Radiant 应用程序中的 ui 代码所在的位置吗?
enter image description here
编辑:收到下面的答案后,我将代码编辑为如下所示,而不是将侧边栏放在新函数中。然而,它还没有工作。不应该吗?还是有什么问题?

    ui <- navbarPage(title = "SD Mesonet Quality Control", id = "navbarPage",
tabPanel(title = 'Data',
sidebarLayout(
sidebarPanel(
conditionalPanel(condition="input.tabselected == 1",
actionButton('bt','button Tab 1')
),
conditionalPanel(condition="input.tabselected == 2",
selectInput('select','choice',choices=c("A","B"))
)
),
mainPanel(
tabsetPanel(type = "tabs", id = "tabselected",
tabPanel("Instrumentation", value = 1, plotOutput("plot")),
tabPanel("Metadata", value = 2, plotOutput("plot"))
)
)
),
)
)


server <- function(input,output){

}

shinyApp(ui,server)

最佳答案

这是一个条件面板,参见 this use case或此 demo .
要回答您的问题,您可以将面板的条件链接到选项卡的 id :

library(shinydashboard)
library(shiny)
sidebar <- dashboardSidebar(
conditionalPanel(condition="input.tabselected==1",
actionButton('bt','button Tab 1')
),

conditionalPanel(condition="input.tabselected==2",
selectInput('select','choice',choices=c("A","B"))
)
)
)

# Header ----
header <- dashboardHeader(title="Test conditional panel")

# Body ----
body <- dashboardBody(
mainPanel(
tabsetPanel(
tabPanel("tab1", value=1,
h4("Tab 1 content")),
tabPanel("tab2", value=2,
h4("Tab 2 content")),
id = "tabselected"
)
)
)
ui <- dashboardPage(header, sidebar, body)

shinyApp(ui=ui,server=server)
已选择选项卡 1:
enter image description here
选择了选项卡 2:
enter image description here

关于r - 如何更改主面板中每个 tabPanel 的 sidebarPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64143272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com