答案 0 :(得分:1)
以下是您可以使用Javascript以编程方式操作导航栏的示例。
library(shiny)
ui <- tagList(
tags$head(
tags$script(HTML("
Shiny.addCustomMessageHandler('click-navbar-menu', function(message) {
var menuName = message.menuName;
$('.nav').find('a[data-value=\"' + menuName + '\"]').click();
})"))
),
navbarPage("App Title",
tabPanel("Plot"),
navbarMenu("More",
menuName = "more",
tabPanel("Summary"),
"----",
"Section header",
tabPanel("Table")
)
)
)
clickNavbarMenu <- function(menuName, session = getDefaultReactiveDomain()) {
session$sendCustomMessage("click-navbar-menu", list(menuName = menuName))
}
server <- function(input, output, session) {
clickNavbarMenu("more")
}
shinyApp(ui, server)
如果您不需要从服务器控制它(在加载应用程序时一次性处理),您可以将其剥离并运行一个带有硬编码值的简单脚本,如:
tags$head(
tags$script(HTML("
$(function() {
$('.nav').find('a[data-value=\"more\"]').click();
});"))
)