Ich verwende R shinyDashboard, um eine Web-App zu erstellen. Diese App ist geladen mit der Landung auf einem 'Übersicht' Tabitem als aktiv. Es gibt auch einige weitere tabItems. Angenommen, ich habe ein bestimmtes TabItem mit dem Namen "Einstellungen", in dem man Aussehen und Filter steuern kann, das ich mit Standardwerten anwenden möchte. Es verwendet dynamische Werte, daher muss es sich auf der Serverseite befinden.R shiny force rendern der serverseitigen Eingabe auf nicht aktivem tabItem beim Laden
Das Problem ist, dass, bis ich nicht die TabItem 'Einstellungen' besuchen, seine Eingaben nicht initialisiert werden und daher das TabItem 'Übersicht' Daten fehlt.
Im Folgenden ein reproduzierbares sehr einfaches Beispiel ist, in dem die App sollte mit dem Wert ‚10‘ in dem Textfeld geladen werden (während in der Praxis wird es nur nach dem Besuch ‚Einstellungen‘ bevölkert):
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)
Danke, arbeitete perfekt am Beispiel. Fahren Sie fort, es in den vollen Code zu setzen. – user3096229