2017-11-30 13 views
0

私は要素のタブを隠して表示するためにshinyjsパッケージを使用するアプリケーションで作業しています。私は別の目的のために私のアプリでlubridateを使用することを決定するまで、それは正常に動作します。shiny:showメソッドを使用しているときに、lubridとshinyjsとの間の競合?

警告:ショーでのエラー:未使用の引数(セレクター=「#navbar李 [データ値=マイデータ]ジャストlibrary呼び出し、アプリがフリーズIが表示/非表示機能を使用しようと「)

私のコード(lubridateの負荷の有無にかかわらず、それを試してみてください)

library(shiny); library(shinyjs); library(lubridate) 
ui <- fluidPage(useShinyjs(), navbarPage(id="navbar", title="Analysis", 
             tabPanel(title="Home", p("here is main page"), checkboxInput("show_other_tab", "show other tab?", value=FALSE)), 
             tabPanel(title="My Data", value="mydata", p("some other text")))) 
server = function(input, output, session){ 
    hide(selector = "#navbar li a[data-value=mydata]") 
    observe({ 
      if (input$show_other_tab) { 
       show(selector = "#navbar li a[data-value=mydata]") 
      } else { 
       hide(selector = "#navbar li a[data-value=mydata]")}})} 
shinyApp(ui, server) 

これは、(私のsession.infoです):R 3.4.2 [1] lubridate_1.7.1 shinyjs_0.9.1 shiny_1.0.5

これを引き起こす原因は何か、このエラーを回避する方法は?おかげ

+0

注:JavaScriptの行はここディーンアタリから取得されます。https:// githubの.com/daattali/shinyjs/issues/43 – agenis

答えて

1

あなたは(showがある)9行目にブレークポイントを設定し、コンソールでshowを入力した場合、あなたはそれがパッケージmethodsから取られていることがわかります、ないshinyjs:lubridateの

Browse[2]> show 
standardGeneric for "show" defined from package "methods" 

ロードそれを引き起こすようです。治療法は、その行にshinyjs::showを使用して、shinyjsパッケージから取得することを確認することです。

そして、シャイニーは1.0.4以降の方法により、そこにビルトインされているため機能showTabhideTab

ui <- navbarPage(id="navbar", title="Analysis", 
       tabPanel(title="Home", id =p("here is main page"), checkboxInput("show_other_tab", "show other tab?", value=FALSE)), 
       tabPanel(title="My Data", value="mydata", p("some other text"))) 
server = function(input, output, session){ 
    observe({ 
    if (input$show_other_tab) { 
     showTab("navbar", target = "mydata") 
    } else { 
     hideTab("navbar", target = "mydata") 
    } 
    }) 
} 
shinyApp(ui, server) 
+0

本当に助けてくれてありがとう!これらの新しい機能を知らなかった。これは私がもうshinyjsパッケージを必要としないことを意味します。私もshinyjsの前にlubridateをロードすると、エラーは発生していないことに気付きました – agenis

関連する問題