我想为不同的选项卡显示不同的输入。所以我尝试用几个 tabPanel 构建一个页面。但是,我不能像下面这样:
library(shiny)
shinyUI(pageWithSidebar(
headerPanel("Header"),
tabsetPanel(
tabPanel(
headerPanel("Tab 1"),
sidebarPanel(
selectInput("var", "Parametre", choices = c("1", "2", "3"))
),
mainPanel(
textOutput("text1")
)
),
tabPanel(
headerPanel("Tab 2"),
sidebarPanel(
selectInput("var", "Parametre", choices = c("21", "22", "23"))
),
mainPanel(
textOutput("text2")
)
)
)
))
我怀疑
pageWithSidebar
是造成问题的原因,但我在 google 群组中找不到替代方案。有没有办法用自己的侧边栏和主面板显示多个选项卡,或者我应该为此目的创建不同的应用程序?
最佳答案
如果我没有误解您的问题,我认为您甚至可以通过为 tabsetPanel
提供 id 来逃避 jQuery 部分(来自@f1r3br4nd 的回答)。函数,这里id = "conditionedPanels"
. value
然后可以通过 input
获得参数(即在主面板中选择了哪个选项卡)多变的。
一个最小的例子 :server.R
除了 ShinyServer 函数框架外,它可能是空的。ui.R
文件可能如下。
shinyUI(pageWithSidebar(
headerPanel("Conditional Panels"),
sidebarPanel(
conditionalPanel(condition="input.conditionedPanels==1",
helpText("Content Panel 1")
),
conditionalPanel(condition="input.conditionedPanels==2",
helpText("Content Panel 2")
)
),
mainPanel(
tabsetPanel(
tabPanel("Panel 1", value=1),
tabPanel("Panel 2", value=2)
, id = "conditionedPanels"
)
)
))
关于r - 有自己的侧边栏和主面板的选项卡可以 Shiny 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16225260/