0
我試圖在導航欄中單擊其他選項卡時將新選項卡添加到shiny的導航欄頁面。將選項卡動態添加到navbarPage並選擇新選項卡
以下工作如預期,但我想跳到新添加的選項卡(而不是跳回到「家」)。
ui.R
library(shiny)
shinyUI(
fillPage(
uiOutput("updateableNavbar")
)
)
server.R
function(input, output, session) {
navbarParams <- reactiveValues(
params = list(
id = "navbar",
title = "navbar",
home = tabPanel("Home", titlePanel("Home")),
add = navbarMenu("AddPanels",
tabPanel("AddPanel1", titlePanel("AddPanel1")),
tabPanel("AddPanel2", titlePanel("AddPanel2"))
)
)
)
lastPanelKlicked <- NULL
observe({
if(!is.null(input$navbar) && substr(input$navbar, 1, 8) == "AddPanel" &&
(is.null(lastPanelKlicked) || lastPanelKlicked != input$navbar)) {
lastPanelKlicked <<- input$navbar
print(input$navbar)
params <- navbarParams$params
params[[length(params) + 1]] <- tabPanel(input$navbar, titlePanel(input$navbar))
names(params)[length(params)] <- input$navbar
navbarParams$params <<- params
}
})
output$updateableNavbar <- renderUI({
do.call(navbarPage, navbarParams$params)
})
}