2015-03-13 66 views
0

ui.r包括tabsetpanel兩個標籤打破閃亮

shinyUI(

    fluidPage(

    titlePanel("the title"), 
     mainPanel(
     tabsetPanel(tabPanel("Raw Data",verbatimTextOutput("theText")), 
        tabPanel("Raw Data2",verbatimTextOutput("theText")) 
     ) 
    ) 
) 
) 

server.r

library("shiny") 
library("dplyr") 
shinyServer(

function(input, output,session) { 

    print("do it") 
    output$theText <- renderText({ 
    return("please work")}) 
} 
) 

如果我刪除一個的TabPanel它的工作原理,以及「做」在控制檯和印刷標題和「請工作」打印在UI中。否則,在這兩種情況下,帶有兩個選項卡的用戶界面顯示出來,並且在選項卡中沒有任何內容被打印或顯示,儘管空的灰色框顯示出來。

使用RStudio 0.99.332,R 3.1.2,有光澤0.11.1

回答

2

在rshiny一個輸出可以只去一個地方,這意味着你必須爲其他的TabPanel創建新的輸出。

library(shiny) 
server <- function(input, output, session) { 
    print("do it") 
    output$theText <- renderText({ 
    return("please work")}) 
    output$theText2 <- renderText({ 
    return("please work")}) 
} 

ui <- fluidPage(

    titlePanel("the title"), 
     mainPanel(
     tabsetPanel(tabPanel("Raw Data",verbatimTextOutput("theText")), 
        tabPanel("Raw Data2",verbatimTextOutput("theText2")) 
     ) 
    ) 
) 

shinyApp(ui = ui, server = server) 
+1

優秀。看起來很奇怪,輸出不能像這樣被訪問兩次,但是幕後可能有一個很好的理由。謝謝。 這是一個完美的答案,但是對於其他人來說, 'placeholderText < - reactive({x < - longCalculationFunction(); return(x)})'然後 'output $ theText1 < - renderText({你可以在任何地方使用更多的東西,比如返回一個簡單的字符串 – hedgedandlevered 2015-03-13 15:17:24