[解決済み] Shinyで条件パネルを非表示にするには?
質問
Shinyで条件パネルを非表示にする方法を教えてください。以下の例をご覧ください。
library(shiny)
ui <- fluidPage(
actionButton("eval","Evaluate"),
numericInput("num_input", "If number is changed, cp must hide", value = 0),
conditionalPanel(
condition = "input.eval",
"text"))
server <- function(input, output, session) {
observeEvent(input$num_input, {
input$eval <- 0
})}
shinyApp(ui, server)
私が実現したいことは ユーザーが評価ボタンをクリックすると、条件パネルが表示されます。
num_input
を変更すると、パネルが消えるはずです。私のアイデアは、evaluate-buttonをnullにすることでしたが、これはうまくいきません(アプリは灰色の背景で開き、フリーズしているように見えます)。
また
shinyjs
というように
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(),
actionButton("eval","Evaluate"),
numericInput("num_input", "If number is changed, cp must hide", value = 0),
conditionalPanel(
id = "cond_panel",
condition = "input.eval",
"text"))
server <- function(input, output, session) {
observeEvent(input$num_input, {
reset("cond_panel")})}
shinyApp(ui, server)
しかし、これもうまくいきません。アプリは定期的に開き、evaluateボタンをクリックすると条件パネルが表示されますが、数値が変更されると何も起こりません。
どうすればいいですか?
出力値を作成し、それを条件パネルだけに使用することができます。ダイナミックUIの記事で、その方法を解説しています。
http://shiny.rstudio.com/articles/dynamic-ui.html
条件には出力値も使用でき、同じように動作します(output.fooは出力fooの値を与えます)。R式を条件式の引数として使いたい場合は、サーバー関数内で反応式を作成し、それを新しい出力に代入して、条件式でその出力を参照することができます。
この場合、必ず outputOptions(output, [newOutputName], suspendWhenHidden = FALSE) もセットしてください。(これは通常、Shinyが非表示またはUIに存在しない出力に対してブラウザに値を送信しないため、必要なことです。しかし、この場合、contitionalPanel関数の条件を正しく評価するために、ブラウザは最新の出力値を知る必要があります - suspendWhenHidden = FALSEは、これが起こることを保証します)。
library(shiny)
ui <- fluidPage(
actionButton("eval","Evaluate"),
numericInput("num_input", "If number is changed, cp must hide", value = 0),
conditionalPanel("input.eval && !output.hide_panel", "text")
)
server <- function(input, output, session) {
output$hide_panel <- eventReactive(input$num_input, TRUE, ignoreInit = TRUE)
outputOptions(output, "hide_panel", suspendWhenHidden = FALSE)
}
shinyApp(ui, server)
別の方法として
renderUI
を表示し、条件パネルが
input$num_input
が変更されます。
関連
-
[解決済み】GLM解析での警告
-
[解決済み】x[[i]]でのエラー:レベル2で再帰的インデックス作成に失敗した
-
[解決済み】 file(filename, "r", encoding = encoding) : cannot open the connectionでエラーが発生する。
-
[解決済み】ロジスティック回帰 - eval(family$initialize) : y 値は 0 <= y <= 1 である必要があります。
-
[解決済み】長いオブジェクトの長さは、短いオブジェクトの長さの倍数ではない?[重複]。
-
[解決済み] na.fail.defaultのエラー:オブジェクトの値が見つからない - しかし、値が見つからないことはありません。
-
[解決済み】各グループの上位3要素を計算する際に「数値型、論理型、複合型でのみ可能な演算」を回避する方法
-
[解決済み】.External.graphics Rでエラーが発生しました。
-
[解決済み】起動時にパーをデフォルト値にリセットする方法
-
[解決済み] Rの再現性のある優れた例題の作り方
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。Rの次元数が正しくない
-
[解決済み] 変数の型(リスト)が無効です
-
[解決済み】ベースグラフィックスでプロットエリアの外側に凡例をプロットする?
-
[解決済み】Rでの関数の最適化(L-BFGS-Bでは'fn'に有限の値が必要)。
-
[解決済み】GLM解析での警告
-
[解決済み】 colMeans(x, na.rm = TRUE) のエラー : KNN分類では 'x' は数値でなければならない
-
[解決済み】「Error in stripchart.default(x1, ...) : invalid plotting method」エラーを回避する方法は?
-
[解決済み] na.fail.defaultのエラー:オブジェクトの値が見つからない - しかし、値が見つからないことはありません。
-
[解決済み】Rで相対的な頻度をプロットするためにhistをどのように使用しますか?
-
[解決済み】'NULL'型の非(リストまたはベクトル)に適用されるis.na()は何を意味するのか?