2016-08-22 63 views
0

如何在R中的新選項卡中顯示在renderUI中定義的輸出?如何在R的新選項卡窗口中顯示輸出?

observeEvent (input$button1, { 
output$details1 <- renderUI({  
fluidPage( 
     fluidRow( 
    #This part contains R statements including textboxes,checkboxes etc to be displayed in another tab window 
    ))     
})}) 

回答

0

你的問題質量差,我不是100%確定這是你想要/需要。

你基本上定義標籤集,只是把你的表情的某些輸入或輸出元素這些選項卡內:

library(shiny) 

ui <- shinyUI(fluidPage(
    headerPanel("Tabsets"), 

    mainPanel(
    tabsetPanel(
     tabPanel("Tab 1", actionButton(inputId="button1", "Go!")), 
     tabPanel("Tab 2", uiOutput("details1")) 
    ) 
) 
)) 

server <- shinyServer(function(input, output) { 
    observeEvent (input$button1, { 
    output$details1 <- renderUI({  
     fluidRow( 
      renderText({ "Yeah!" }) 
     )     
    })}) 
}) 

shiny::shinyApp(ui=ui,server=server) 
+0

我想要一個窗體顯示在新選項卡或新網頁中,當點擊一個按鈕時。表單已經由我設計。也就是說當我的應用程序運行時,一個網頁出現一個動作按鈕。當這個動作按鈕被點擊時,一個新的網頁必須顯示我設計的表格。 – Anu

0

可以使用updateTabsetPanel單擊該按鈕時,更改爲新的選項卡。

library(shiny) 

ui <- shinyUI(fluidPage( 
    tabsetPanel(type = "tabs", id = 'myTabs' 
       ,tabPanel(title = "Tab1",value = "tab1" ,actionButton(inputId="button1", "Go!")), 
       tabPanel(title = "Tab2", value = "tab2", uiOutput('details1') ) 
    ) 
)) 

server <- shinyServer(function(input, output, session) { 
    observeEvent(input$button1 , { 
     updateTabsetPanel(session = session 
      ,inputId = 'myTabs' 
      ,selected = 'tab2') 
    }) 
    output$details1 <- renderUI({ 
     textInput(inputId = 'Age', label = 'Age', value = 23) 
    })   
}) 

shiny::shinyApp(ui=ui,server=server) 
+0

謝謝先生。但先生通過新標籤我的意思是新的網頁,而不是出現在同一個網頁上的標籤閃亮的應用程序出現。例如,如果我使用谷歌,然後當按鈕被點擊時,窗體應該出現在谷歌的新標籤,即新的谷歌網頁。 – Anu

+0

@Anu Shiny目前不支持多頁面應用,所以我不認爲你想要做什麼是可能的 - 至少不是沒有一些廣泛的解決方法。 – Teajay

相關問題