Salut Dean,
Est-il possible d'actualiser (recharger l'application) la page Web en fonction d'un événement de clic sur le panneau de l'onglet ? J'ai un onglet d'accueil sur ma page de barre de navigation, chaque fois que je clique sur cet onglet, tout le système doit être actualisé. Actuellement, j'utilise un bouton d'action pour le faire. j'ai essayé d'utiliser shinyjs dans le tabpanel mais ça ne marche pas. Je ne sais pas comment le gérer.
Vous pouvez faire quelque chose comme ça
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();
}
})
}
)
Merci, je l'ai compris, mais ma page est comme une page de recherche Google avec un onglet d'accueil chaque fois que je l'ouvre, il continue de se rafraîchir. L'idée était bonne merci.
Vous pouvez faire quelque chose comme ça
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(); } }) } )
Bonjour, Si je souhaite uniquement actualiser un certain onglet, pas "l'emplacement", comment puis-je accéder au TabName, s'il vous plaît ?
Commentaire le plus utile
Vous pouvez faire quelque chose comme ça