0
我有一個面板後面的閃亮應用程序的配置選項。而且,配置選項是使用uiOutput/renderUI在服務器端生成的。閃亮延遲評估不在當前選定面板中的項目,但有時需要強制評估。是否有可能強制進行服務器端評估?可以強制執行隱藏面板嗎?
下面是一個例子:
library(shiny)
ui <- fluidPage(
tabsetPanel(tabPanel("Main",
plotOutput("dots")),
tabPanel("Settings",
uiOutput("even.or.odd")
)
)
)
server <- function(input, output) {
output$dots <- renderPlot({
plot(seq(ifelse(input$even, 0, 1), 20, 2))
})
output$even.or.odd <- renderUI(checkboxInput('even', "Even?",TRUE))
}
shinyApp(ui = ui, server = server)
或者從RStudio做runGist('https://gist.github.com/dkulp2/d897c21dfd1a20f9531b6454ea02a533')
這失敗在啓動時,因爲input$even
是不確定的,直到「設置」面板中顯示出來。 (然後應用程序工作正常。)有沒有什麼辦法可以讓Shiny在不透露面板的情況下評估even.or.odd
函數?
這個例子設置
suspendWhenHidden = FALSE
強制隱藏輸出對象的執行是平凡和簡單的解決辦法是刪除uiOutput/renderUI,只是放置'checkboxInput'在'ui'。但是,通常假設由於某些服務器端邏輯,uiOutput/renderUI是必需的。 –