2017-11-23 13 views
0

これは私のアプリは起動時に、今どのように見えるかです: enter image description here光り輝くアプリの開始時にナビゲートパネルを展開するにはどうすればよいですか?

問題は、一部のユーザーは上記のリストは、それをクリックして展開することができることを知っていないということです。アプリの開始時に展開されているように設定できますか?

これは私がそれは開始時のように見えるしたい方法です: enter image description here

+0

あなたは展開してどういう意味ですか?期待どおりの結果をスクリーンショットで共有できますか? –

+0

私は2つのイメージを置いています:まず、現在とはどのようにしたいのですか? –

+1

これはJavascriptを使用してクライアント側で行うことができます。しかし、それはナビバーで行うのは奇妙なことです。異なるUIコントロールを考えてみませんか?おそらく、メインパネルのタブ、またはサイドバーのラジオボタンです。 –

答えて

1

は、ここでは、プログラムではJavaScriptを使用してナビゲーションバーを操作する方法の例です。

library(shiny) 

ui <- tagList(
    tags$head(
    tags$script(HTML(" 
     Shiny.addCustomMessageHandler('click-navbar-menu', function(message) { 
     var menuName = message.menuName; 
     $('.nav').find('a[data-value=\"' + menuName + '\"]').click(); 
     })")) 
), 

    navbarPage("App Title", 
      tabPanel("Plot"), 
      navbarMenu("More", 
         menuName = "more", 
         tabPanel("Summary"), 
         "----", 
         "Section header", 
         tabPanel("Table") 
      ) 
) 
) 

clickNavbarMenu <- function(menuName, session = getDefaultReactiveDomain()) { 
    session$sendCustomMessage("click-navbar-menu", list(menuName = menuName)) 
} 

server <- function(input, output, session) { 
    clickNavbarMenu("more") 
} 

shinyApp(ui, server) 

あなたは(あなたがアプリをロードする際に、1回だけの対処)サーバからそれを制御する必要がない場合は、それを取り除くだけハードコードされた値を使用して、簡単なスクリプトを実行することができlike:

tags$head(
    tags$script(HTML(" 
     $(function() { 
     $('.nav').find('a[data-value=\"more\"]').click(); 
     });")) 
) 
関連する問題