Shinyjs: aktualisieren Sie die Seite mit tabpanel

Erstellt am 31. Mai 2016  ·  3Kommentare  ·  Quelle: daattali/shinyjs

Hallo Dekan,

Ist es möglich, die Webseite basierend auf dem Klickereignis im Tabset-Bereich zu aktualisieren (Anwendung neu zu laden)? Ich habe einen Home-Tab auf meiner Navbar-Seite, immer wenn ich auf diesen Tab klicke, muss das gesamte System aktualisiert werden. Derzeit verwende ich eine Aktionsschaltfläche, um dies zu tun. Ich habe versucht, Shinyjs in Tabpanel zu verwenden, aber es funktioniert nicht. Ich bin mir nicht sicher, wie ich damit umgehen soll.

Hilfreichster Kommentar

Sie können so etwas tun

library(shiny)
library(shinyjs)

jscode <- "shinyjs.refresh = function() { location.reload(); }"

shinyApp(
  ui = tagList(
    useShinyjs(),
    extendShinyjs(text = jscode, functions = "refresh"),
    navbarPage(
      "test",
      id = "navbar",
      tabPanel(title = "tab1", "tab 1"),
      tabPanel(title = "tab2", "tab 2"),
      tabPanel(title = "Refresh", value = "refresh")
    )
  ),
  server = function(input, output, session) {
    observe({
      if (input$navbar == "refresh") {
        js$refresh();
      }
    })
  }
)

Alle 3 Kommentare

Sie können so etwas tun

library(shiny)
library(shinyjs)

jscode <- "shinyjs.refresh = function() { location.reload(); }"

shinyApp(
  ui = tagList(
    useShinyjs(),
    extendShinyjs(text = jscode, functions = "refresh"),
    navbarPage(
      "test",
      id = "navbar",
      tabPanel(title = "tab1", "tab 1"),
      tabPanel(title = "tab2", "tab 2"),
      tabPanel(title = "Refresh", value = "refresh")
    )
  ),
  server = function(input, output, session) {
    observe({
      if (input$navbar == "refresh") {
        js$refresh();
      }
    })
  }
)

Danke, ich habe es verstanden, aber meine Seite ist wie eine Google-Suchseite mit einem Home-Tab, wenn ich sie öffne, wird sie immer wieder aktualisiert. Die Idee war gut, danke.

Sie können so etwas tun

library(shiny)
library(shinyjs)

jscode <- "shinyjs.refresh = function() { location.reload(); }"

shinyApp(
  ui = tagList(
    useShinyjs(),
    extendShinyjs(text = jscode, functions = "refresh"),
    navbarPage(
      "test",
      id = "navbar",
      tabPanel(title = "tab1", "tab 1"),
      tabPanel(title = "tab2", "tab 2"),
      tabPanel(title = "Refresh", value = "refresh")
    )
  ),
  server = function(input, output, session) {
    observe({
      if (input$navbar == "refresh") {
        js$refresh();
      }
    })
  }
)

Hallo, wenn ich nur einen bestimmten Tab aktualisieren möchte, nicht den "Standort", wie kann ich bitte auf den TabName zugreifen?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen