我使用 shiny 来显示两种方法 A 和 B 的结果。首先我使用radioButtons
以便最终用户可以选择其中一种方法,然后在下拉菜单列表中进一步指定要显示的项目。由于有两种方法,我也考虑使用“标签”(tabsetPanel
)。我的问题是,有没有一种方法,当我单击一个radioButton
方法时,相应的“tabview”会自动切换(到所需方法的显示结果)?
谢谢!如果有一个与这种情况类似的工作示例,那就太好了。
查看帮助?updateTabsetPanel
,或?conditionalPanel
如果您决定采用该updateTabsetPanel
方法,则可以根据用户输入(直接从帮助中获取)更改选定的选项卡:
# in server.R
shinyServer(function(input, output, session) {
observe({
# TRUE if input$controller is even, FALSE otherwise.
x_even <- input$controller %% 2 == 0
# Change the selected tab.
# Note that the tabsetPanel must have been created with an 'id' argument
if (x_even) {
updateTabsetPanel(session, "inTabset", selected = "panel2")
} else {
updateTabsetPanel(session, "inTabset", selected = "panel1")
}
})
})
注意session
对象和的使用?observe
。
如果您决定采用这种conditionalPanel
方法:
# in ui.R
selectInput("method", "Method", c("A", "B")),
conditionalPanel(
condition = "input.method == 'A'",
plotOutput(...) # or whatever input/output you want
),
conditionalPanel(
condition = "input.method == 'B'",
plotOutput(...) # or whatever input/output you want
)
我不相信conditionalPanel
可以制作条件标签。(我可能错了)