49

tabsetPanelユーザーが特定の入力を入力すると生成されるを使用する光沢のあるアプリケーションを開発しています。renderUIしたがって、関数を使用して tabsetPanel を表示/非表示にしたいと考えています。

私の苦労は、要素 ( の引数)の もユーザー入力に依存するということです。つまり、1 つ必要な場合もあれば、より多くの が必要な場合もあります。tabPaneltabsetPaneltabPanels

作り方は?conditionPanel引数に単純なif()...条件を含めたり含めたりしてみましたtabsetPanelが、(驚くべきことではありませんが...)うまくいきませんでした。

4

2 に答える 2

4

renderUI を使用せずに tabPanelsを動的に追加する方法がありますが、renderUIを使用したバージョンほど明白ではない場合があります。私は関数addTabToTabsetを作成しました。これは、任意の (リストの) tabPanel(s) をタブセット/ナビゲーション バーに追加します。

このアプローチには、renderUI を使用するよりも一連の利点があります。

  • 既存の tabPanels は、新しいパネルが追加されるたびに再レンダリングされません。(もっと早く)
  • したがって、既存のパネル内のすべての入力変数をリセットするわけではありません。(回避策を格納する変数は必要ありません)
  • パネル コンテンツの構造は個別に選択できます。(lapply - renderUI バージョンでは、すべてのパネルがある程度統一されている必要があります。)

ソリューションとコード サンプルは、こちらの回答にあります。リクエストがあれば、ここにコードを投稿することもできます。

于 2016-04-17T08:28:19.233 に答える