2017-09-27 9 views
0

私はR Shinyダッシュボードを構築しており、conditionalPanelsを実装しようとしています。確かに、私はJavaScriptが初めてです。そこの記事の多くは、SOについてconditionalPanels上だが、私が見てきたすべての単一の1は、その条件式でinput.somethingを使用して、一般的に次のように:Rの入力条件を超えて評価するShiny conditionalPanel

conditionalPanel(
    condition = "input.tabs == 'correlation'", 

    actionButton("generate_correlation", "Generate Heat Map") 
) 

私は、条件ステートメント内の式が評価される文字列であることを知っていますJavaScriptの式として使用していますが、input以外の変数やオブジェクトにアクセスできるかどうかは疑問です。リアクティブ関数を評価することはできますか?私は、ボタンを押して、新しいタブが結果として条件付きで表示されるようにしたいと思います。ボタンをクリックする

dropColumnsComplete <- reactive(input$dropColumnsComplete,{ 
    return(TRUE) 
    }) 

はという反応式を呼び出す必要がありinput$dropColumnsCompleteイベントをトリガ:私はこれを処理するために、私のサーバー側での反応式を作成しました、そして、

  tabPanel("Tab 1", 
        actionButton("dropColumnsComplete", "Next")) 

を作成しました関数dropColumnsComplete()が呼び出されるとTRUEを返します。次に、私は

 conditionalPanel(condition = "dropColumnsComplete()", 
         tabPanel("Tab 2") 
        ), 

を追加し、ボタンを押すとタブ2が表示されることが予想されます。条件式の中のdropColumnsComplete()に正しくアクセスしていないことを知っています - それはdocument.dropColumnsComplete()ですか? shiny.dropColumnsComplete()?これに関する文書が驚くほど不足しているので、私はJavaScript内でinput$...以外の変数にアクセスする方法を失っています。

答えて

0

要素を条件付きで表示/非表示するための反応記号を書く理由はありません。代わりにshinyjsを使用してのDean Attali

例でshinyjsを見てみましょう:

library(shiny) 
library(shinyjs) 

ui <- fluidPage(
    useShinyjs(), 
    actionButton("show", "Click me once to show stuff!"), 
    actionButton("toggle", "Click me any times to toggle stuff!"), 
    hidden(
    div(id = "d1", 
     "Content hidden until button is clicked" 
    ) 
), 
    hidden(
    div(id = "d2", 
     "Content toggled when button is clicked" 
    ) 
) 
) 

server <- function(input, output) { 
    observeEvent(input$show, { 
    show("d1") 
    }) 

    observeEvent(input$toggle, { 
    toggle("d2") 
    }) 
} 
shinyApp(ui, server) 
+0

おかげで、どのように考えRで 'tabPanel'sと、この作品?要素IDがないので、私はあなたのケースとして 'div'を持つことができます。 –

+0

実際、この素晴らしいリソースはhttps://stackoverflow.com/questions/31703241/activate-tabpanel-from-another-tabpanel/31719425#31719425です。 –

関連する問題