2017-11-14 15 views
1

Shinyアプリケーションで条件付きパネルを作成しています。私はJavaScriptの条件をデバッグしようとしていますが、それを調べることなく、ランダムなJavaScriptビットを推測しています。状態を直接調べる方法はありますか?私も選択肢をクリックする前に、起動時に(私の生産コードから一般化)印刷Shiny conditionalPanelで使用されるJavaScriptの条件

selectizeInput('groups','Groups:', 
        choices = list('Choice1' = 'choice1','Choice2' = 'choice2'), 
        multiple = TRUE,selected = NULL 
) 

conditionalPanel(
      print("input.groups.indexOf('choice2') >= 0"), # desired output 
      condition = "input.groups.indexOf('choice2') >= 0", 
      selectInput("statusfilter", "StatusFilter", 
         list("NewChoice1" = "nc1","NewChoice2" = "nc2")) 
) 

上記のコードはconditionalPanelを示しています。私がやってくると、「choice2」を選ぶまでそれは消えてしまいます。状態を調べることができれば、私はこれをすぐに修正することができました。コードが実行されるよう、あなたのJavaScriptコンソールを開くと、エラーが表示されます、私たちのprint文をコメントした後

答えて

1

Error parsing expression: input.groups.indexOf('choice2') >= 0

これはあなたのJSコードブレークを示唆しています。これは、input.groupsがヌルで、ヌル値に.indexOfを実行するとエラーが発生するためです。

だから何を条件にしたいことはある:

理にかなって

condition = "input.groups !== null && input.groups.indexOf('choice2') >= 0"

+0

!私は一般的なデバッグオプションについて質問しましたが、これはおそらく私が失敗したかもしれません。彼らが自分自身を探す場所を知っていたかどうか尋ねられなかった多くの同様の質問が見られました。答えを編集してJSコンソールを使ってデバッグを行うことができれば、一般的な質問に答える方が良いと思います。あなたが特定の質問に答えたのは本当に役に立ちます! – ARobertson

+0

よく、私は実際にデバッグをしていませんでした。私は、デフォルトの最初のステップとしてコンソールを開き、エラーを見ました。非常に多くのエラー(javascriptとRのようなもの)が、何かをnull値にしようとするために無害なように見えるコードで発生するので、私はそれが事実であると仮定してチェックしています。 –

関連する問題