1
我使用R shinyDashboard創建一個Web應用程序。這個應用程序在一些'概述'tabitem上作爲活動加載着陸。還有一些更多的tabItems。假設我有一個名爲'設置'的特定tabItem,其中可以控制外觀和過濾器,我希望使用默認值。它使用動態值,所以它必須位於服務器端。R閃亮的強制渲染的服務器端輸入在非活動tabItem上加載
問題是,直到我沒有訪問'設置'tabItem,其輸入未初始化,因此'概述'tabItem缺少數據。
下面是一個可再現的非常簡單的例子,其中,應用程序應被加載在文本框中的值「10」(而在實踐中,它僅前往「設置」之後填充):
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)
謝謝,在這個例子上工作完美。繼續把它放到完整的代碼中。 – user3096229