【问题标题】:Properly display all outputs in a Shiny dashboard after bookmarking/restoration书签/恢复后在闪亮的仪表板中正确显示所有输出
【发布时间】:2020-08-21 13:41:08
【问题描述】:

当您在具有多个 tabItems 的仪表板中使用本机书签功能恢复 Shiny 会话时,您会遇到在添加书签时处于活动状态的会话(合法)。但是,其他tabItems() 的输出(选项卡、绘图...)在您实际单击它们并显示在浏览器中之前不会刷新/重新计算。有没有办法在恢复过程中重新计算那些未显示的输出?

一个可能的不优雅的解决方法是在onRestored() 的末尾为我们想要正确显示的每个现有标签项添加一堆updateTabItems()

【问题讨论】:

  • 您可以尝试outputOptions 中的suspendWhenHidden = FALSE 选项。但是,它没有很好的文档记录,并且让它工作/在哪里放置outputOptions

标签: r shiny


【解决方案1】:

对于那些可能感兴趣的人,这个一般问题的一般答案以及@starja 建议的方法是使用suspendWhenHidden = TRUE

这个想法很简单:默认情况下,Shiny 应用程序的每个output 对象在被请求在浏览器中显示之前不会运行(suspendWhenHidden = TRUE)。要更改该行为,只需在您的服务器中添加以下代码行(不确定是否有特定位置):

  outputOptions(output, "my_output_name", suspendWhenHidden = FALSE)

因此,在会话恢复(书签)之后,即使您登陆选项卡“B”,带有suspendWhenHidden = FALSE 的选项卡“A”的每个输出都将被执行,因此根据这些输出引导您的反应表达式为“刷新”并在选项卡“B”中正确运行/显示。

【讨论】:

    猜你喜欢
    • 2019-05-11
    • 1970-01-01
    • 2021-12-14
    • 2021-08-14
    • 2015-04-22
    • 2018-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多