Shinyjs: обновить страницу с помощью панели вкладок

Созданный на 31 мая 2016  ·  3Комментарии  ·  Источник: daattali/shinyjs

Привет Дин,

Можно ли обновить (перезагрузить приложение) веб-страницу на основе события щелчка на панели вкладок? У меня есть домашняя вкладка на странице панели навигации, и всякий раз, когда я нажимаю на эту вкладку, вся система должна обновляться. В настоящее время я использую кнопку действия, чтобы сделать это. я пытался использоватьshinjs в tabpanel, но это не работает. Не знаю, как с этим справиться.

Самый полезный комментарий

Вы можете сделать что-то вроде этого

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

Все 3 Комментарий

Вы можете сделать что-то вроде этого

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

Спасибо, я понял это, но моя страница похожа на страницу поиска Google с домашней вкладкой, когда я открываю ее, она постоянно обновляется. Идея хорошая спасибо.

Вы можете сделать что-то вроде этого

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

Здравствуйте, если я хочу обновить только определенную вкладку, а не «местоположение», как я могу получить доступ к TabName, пожалуйста?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги