【问题标题】:R shiny tab sets simultaneous processingR闪亮标签集同时处理
【发布时间】:2015-09-23 07:53:27
【问题描述】:

在我的 R 闪亮应用中,我的 tabsetPanel 中有许多 tabPanel。

在我单击该选项卡之前,不会开始加载特定选项卡的图表。

所以只浏览所有选项卡的内容需要很长时间。

有没有什么方法可以在应用启动时先处理所有选项卡,这样当我转到不同的选项卡时所有图表都已经存在?

我用两个直方图创建了一个简单的例子:

  server <- function(input, output) {
  output$distPlot <- renderPlot({
    hist(rnorm(100000000), col = 'darkgray', border = 'white')
  })


  output$distPlot2 <- renderPlot({
    hist(rnorm(100000000), col = 'red', border = 'white')
  })
  outputOptions(output,"distPlot2",suspendWhenHidden = FALSE)

}

ui <- fluidPage(

  tabsetPanel(
    tabPanel("1",plotOutput("distPlot")
      ),
    tabPanel("2",plotOutput("distPlot2")
      )
    )

)

shinyApp(ui = ui, server = server)

我定时加载这两个直方图,发现选项 suspendWhenHidden = FALSE 在这里不起作用。如何解决?

【问题讨论】:

    标签: shiny tabpanel


    【解决方案1】:

    您可以使用shiny::outputOptionssuspendWhenHidden 参数来控制渲染行为:

    suspendWhenHidden。当‘TRUE’(默认)时,输出 对象隐藏时将被挂起(不执行) 网页。当‘FALSE’时,输出对象不会 隐藏时暂停,如果它已经隐藏并且 暂停,然后立即恢复。

    如果这还不够,您可以在应用程序启动时(在服务器功能之外)或每个用户(在渲染块之外的服务器中)执行昂贵的部分代码。

    【讨论】:

    • 您好,您能看看我的可重现示例代码吗?我为加载计时,发现该选项没有按预期工作。
    • 嗯,有趣。稍后我会看一下,如果我弄清楚这里发生了什么,请告诉你。
    猜你喜欢
    • 2013-11-17
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 2018-06-07
    相关资源
    最近更新 更多