J'utilise R shinyDashboard pour créer une application Web. Cette application est chargée de l'atterrissage sur certains tabitem 'aperçu' comme actif. Il y a aussi plus de tabItems. Supposons que j'ai un tabItem spécifique appelé "Paramètres", où l'on peut contrôler l'apparence et les filtres, que je voudrais appliquer avec les valeurs par défaut. Il utilise des valeurs dynamiques, il doit donc être situé sur le serveur. Le problème est que tant que je ne visite pas l'onglet 'Paramètres', ses entrées ne sont pas initialisées et que l'onglet 'Vue d'ensemble' contient des données manquantes.R rendu de force brillant de l'entrée côté serveur sur tabItem non actif lors du chargement
Ci-dessous un exemple reproductible très simple, dans lequel l'application doit être chargé avec la valeur « 10 » dans la zone de texte (alors qu'en pratique, il est seulement peuplée après avoir visité « Paramètres »):
require(shiny)
require(shinydashboard)
ui<-dashboardPage(skin = "black",
dashboardHeader(
),
dashboardSidebar(
sidebarMenu(
menuItem("Overview", tabName = "overview"),
menuItem("Settings", tabName = "settings") )
),
dashboardBody(
tabItems(
tabItem("overview",
uiOutput("textUI")
),
tabItem("settings",
htmlOutput("FilterUI")
)
)
)
)
server<-shinyServer(function(input, output,session) {
output$FilterUI <- renderUI({
numericInput("selected_filter", "Select value",min=0,max=20,value=10)
})
output$textUI <-renderUI({
box(input$selected_filter)
})
})
shinyApp(ui, server)
Merci, a travaillé parfaitement sur l'exemple. Aller de l'avant pour le mettre dans le code complet. – user3096229