2016-10-01 95 views
0

我幾乎我的項目做,我試圖做我的應用程序的一些審美的變化,以更加用戶友好的和有吸引力的。閃亮能夠使用交互式用戶界面嗎?

想法: 由於我的應用程序需要上傳表格才能工作,我認爲如果我在屏幕中間放置一個獨立的大型上傳按鈕,然後導航欄會出現結果,圖表,下載將出現。

這是我已經試過:

shinyUI(

fileInput("file","Upload the file") 

if(!is.null(input$file)) { 
    navbarPage("My Application", 
        tabPanel("Data", tableOutput("table")), 
        tabPanel("Summary", tableOutput("sum")), 
        tabPanel("Regression", verbatimTextOutput("reg")), 
        tabPanel("Wavelet Coefficients", htmlOutput("tmod1"), 
          tableOutput("mod1"), 
          tableOutput("mod2")), 
        tabPanel("Wavelet Plot", plotOutput("plot")), 
        tabPanel("About file", tableOutput("filedf")) 
)}     
) 

的錯誤是:

ERROR: D:\OneDrive\MODWT App/ui.R:7:1: unexpected 'if' 
6: 
7: if 
^

是否有任何解決這個? :/

我目前的「B計劃」是創建兩個應用程序,其中第一個是上載一個,如果用戶上傳的文件,然後server.R將調用「原生態」的應用程序。這甚至有可能嗎?

我道歉,如果這個問題似乎很傻,但我是一個小白編碼器,所以我不知道的侷限性。

感謝

+0

RStudio寫了一篇文章給你:http://shiny.rstudio.com/articles/dynamic-ui.html – alistaire

+0

輸入反應的對象不可在UI端。最好只是讓ui返回'htmlOutput('AnEntirePage')',然後使用renderUI來編寫if語句。 – Shape

回答

1

動態地添加或刪除閃亮的UI元素,你應該使用內置的動態用戶界面功能,如conditionalPanel

您會將邏輯從if語句移動到conditionalPanelcondition參數。

還有一些其他功能一樣,你可以讀到here,你也可以使用自定義JS。