我正在用闪亮的R编辑应用程序。我自己没有创建它,因此被要求更改一些内容。
在navbarMenu
中,我有一个tabsetPanel
,它有6个tabPanel
,还有一个wellPanel(selectizeInput("Option", "Select Option", c("Option 1", "Option 2"),selected="Option 1")
,有两个选项。
这一切都很好,可以选择不同的选项,不同的选项卡面板会显示与选择有关的信息。但是,我想将tabsetPanel
更改为仅在用户选择“选项2”时显示前4个tabPanel
,而在他们选择“选项1”时显示所有6个tabPanel
。
我试图将tabPanel包装在conditionalPanel中,但这不能正常工作。
tabPanel('Plots', tabsetPanel(
tabPanel('Plot 1',
plotOutput(...),
uiOutput(...)),
tabPanel('Plot 2',
plotOutput(...),
uiOutput(...)),
tabPanel('Plot 3',
plotOutput(...),
uiOutput(...)),
tabPanel('Plot 4',
plotOutput(...),
uiOutput(...)),
conditionalPanel(condition = "input.Option == 'Option 2'",
tabPanel('Plot 5',
plotOutput(...),
uiOutput(...))),
conditionalPanel(condition = "input.Option == 'Option 2'",
tabPanel('Plot 6',
plotOutput(...),
uiOutput(...)))
该应用程序使用此代码运行,但是无论选择哪个选项,都只会显示四个选项卡。如果我选择选项1,则四个面板旁边会出现两个面板,但是它们没有标题,并且在单击时只有一个面板显示正确的图。
我对发亮的R并不陌生,所以不确定如何使用这些功能,但是我认为这是有道理的,也许我是完全错误的。我研究了答案,但最能找到的是Change the side bar panel elements based on the selected tab。这与我想做的事情相反,但希望能对您有所帮助。
任何帮助将不胜感激!