我使用闪亮来显示两种方法的结果,A和B.首先我使用radioButtons
,以便最终用户可以选择其中一种方法,然后在下拉菜单列表中进一步指定要显示的项目。由于有两种方法,我还考虑使用“标签”(tabsetPanel
)。我的问题是,当我点击一个方法的radioButton
时,是否有一种方法可以自动切换相应的“tabview”(到所需方法的显示结果)?
谢谢!如果有一个类似于这种情况的工作示例那就太棒了。
答案 0 :(得分:4)
查看?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
可以制作条件标签。 (我可能错了)