【问题标题】:output shiny app object details in UI在 UI 中输出闪亮的应用程序对象详细信息
【发布时间】:2018-01-22 23:11:52
【问题描述】:

我的闪亮应用程序有一个大型缓存对象,它在启动时加载,使用 readRDS(),在 shinyServer() 处理中利用它来填充 shinyUI() 定义的 textOutput()。

是否有一些技巧可以在 readRDS() 调用之前填充显示“正在加载缓存对象......”的 textOutput UI,并将其更改为“加载大小的缓存对象,object.size(cacheLoadedObject)”加载完成了吗?

这一点 UI 行为很重要的原因是应用程序输入框将在从磁盘加载该对象之前接受输入,但它们基本上不起作用,直到它们触发的 reactive() 和 renderText() textOutput 更新可以'在加载缓存对象之前不会计算。

查看了“闪亮的应用加载 UI”点击,但在此场景中没有发现任何内容。

【问题讨论】:

  • 只是一个提示(我没有时间真正调查) - 尝试使用反应值:shiny.rstudio.com/tutorial/lesson4
  • @xhudik 感谢您的回复。是的,我目前正在使用 reactive() 生成的函数,我将其传递给 renderText() 调用,其输出分配给 output$verbatimTextOutputBoxId。问题是我想要一种方法让用户在让他们能够在 inputText 控件中输入值之前让他们感觉到工作正在发生,其中下一步取决于已加载的 rds 缓存文件。

标签: r shiny


【解决方案1】:

您可以在加载对象时使用闪亮的忙碌指示器显示一些文本。您可能会发现以下链接很有趣:

shiny app busy indicator

http://deanattali.com/blog/advanced-shiny-tips/#busy-indicator

此外,您可以在加载时隐藏/禁用输入字段(使用 shinyjs)并在加载完成时启用它们。请参阅此处了解更多信息:

Disable textInput based on radio button selection on Shiny

https://rdrr.io/cran/shinyjs/man/disabled.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    相关资源
    最近更新 更多