Shinyjs: segarkan halaman menggunakan tabpanel

Dibuat pada 31 Mei 2016  ·  3Komentar  ·  Sumber: daattali/shinyjs

Hai Dekan,

Apakah mungkin untuk menyegarkan (memuat ulang aplikasi) halaman web berdasarkan acara klik pada panel tabset? Saya memiliki tab beranda di halaman navbar saya, setiap kali saya mengklik tab itu, seluruh sistem perlu disegarkan. Saat ini saya menggunakan tombol tindakan untuk melakukannya. saya mencoba menggunakan glossyjs di tabpanel tetapi tidak berfungsi. Tidak yakin bagaimana menanganinya.

Komentar yang paling membantu

Anda dapat melakukan sesuatu seperti ini

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();
      }
    })
  }
)

Semua 3 komentar

Anda dapat melakukan sesuatu seperti ini

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();
      }
    })
  }
)

Terima kasih saya memahaminya tetapi halaman saya seperti halaman pencarian google dengan tab beranda setiap kali saya membukanya terus menyegarkan. Idenya bagus terima kasih.

Anda dapat melakukan sesuatu seperti ini

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();
      }
    })
  }
)

Halo, Jika saya hanya ingin me-refresh tab tertentu, bukan "lokasi", bagaimana saya bisa mengakses TabName?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat