Закладки реактивных вкладок не работают в блестящем

#r #shiny

Вопрос:

Приведенное ниже приложение обновляет URL-адрес на основе строки, выбранной в таблице DT, и выбранной вкладки. Но что происходит, когда пользователь копирует URL-адрес на другую вкладку, он открывает не конкретную вкладку, а страницу по умолчанию (url : http://127.0.0.1:XXXX/?tabs=tabs3)

Пожалуйста, следуйте инструкциям для справки

  1. Нажмите на любую строку(скажем, 3) в таблице DT (вкладка «Сводка»).
  2. вкладка 3 открывает печать как 3 (это нормально)
  3. Теперь скопируйте этот URL-адрес (URL tab3)
  4. Вставьте в другую вкладку (теперь она возвращается только на вкладку «Сводка», а не на вкладку 3)
 library(shiny)
library(DT)

ui <- function(request) {
  shinyUI(navbarPage(
    "Title", id = "inTabset", selected = "Summary",
    tabsetPanel(id = "tabs",
                # tabPanel(
                #   "Readme",tags$head(tags$link(rel = "stylesheet", type="text/css", href="style.css"))
                # ),
                tabPanel(
                  "Summary",
                  dataTableOutput("tab")))
  )
  )
}

server <- function(input, output, session) {
  # Make sure you only bookmark the tabsetPanel
  setBookmarkExclude(isolate(names(input)[names(input) != "tabs"]))
  
  # Every time the tab changes, store the app state as URL bookmark
  observeEvent(input$tabs, {
    session$doBookmark()
  })
  
  # Set callback that stores the app state in the URL
  onBookmarked(function(url) {
    updateQueryString(paste0("?tabs=", input$tabs), mode = "replace")
  })
  # Set callback to restore the app state from the URL
  onRestore(function(state) {
    updateTabsetPanel(inputId = "tabs", selected = getQueryString()[["tabs"]])
  })
  
  output$tab <- renderDataTable({
    datatable(iris,selection = 'single')
  })
  
  observeEvent(input$tab_rows_selected, {
    insertTab(inputId = "tabs",
              tabPanel(paste0("tabs",input$tab_rows_selected), "This a dynamically-added tab",htmlOutput("sd")),
              target = "Summary",select = TRUE
              
    )
  })
  
  output$sd <- renderUI({
    as.character(input$tab_rows_selected)
  })
  
  
}


enableBookmarking("url")
shinyApp(ui, server)