2017-08-15 15 views
0

shinyapp()で定義されたtextOutput()を設定するためにshinyServer()処理を利用するreadRDS()を使用して、起動時に読み込まれる大きなキャッシュオブジェクトがあります。UIで光沢のあるアプリケーションオブジェクトの詳細を出力

readRDS()呼び出しの直前に「読み込み中のキャッシュオブジェクト...」と書かれている「読み込まれたキャッシュオブジェクト(サイズ、object.size(cacheLoadedObject)」)に変更されたtextOutput UIにデータを入力するトリックはありますか?読み込みが完了しましたか?

アプリケーションの入力ボックスは、アプリケーションの入力ボックスがディスクから読み込まれる前に入力を受け付けますが、react()およびrenderText()textOutputの更新がトリガーされるまで本質的に機能しませんそのキャッシュされたオブジェクトがロードされるまで計算することはできません。

「shiny app loading UI」がヒットし、このシナリオでは何も見つかりませんでした。

+0

だけヒント(私は実際に調査する時間を持っていけない) - 反応性の値を使用するようにしてください:https://shiny.rstudio.com/tutorial/ lesson4/ – xhudik

+0

@xhudikは応答に感謝します。はい私は現在、出力が$ verbatimTextOutputBoxIdの出力に割り当てられているrenderText()呼び出しに渡すreactive()生成関数を使用しています。問題は、次のステップがロードされたrdsキャッシュファイルに依存するinputTextコントロールに値を入力できるようにする前に、作業が行われていたことをユーザに感知する方法が必要だったということでした。 – myusrn

答えて

1

光沢のあるビジーインジケータを使用して、オブジェクトの読み込み中にテキストを表示できます。あなたは興味深い以下のリンクを見つけることがあります。あなたが/非表示のロードが終了したときにロードし、それらを有効にする(shinyjsを使用して)入力フィールドを無効にすることができまた

shiny app busy indicator

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

。詳細については、こちらを参照してください:

Disable textInput based on radio button selection on Shiny

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

関連する問題