2017-01-01 3 views
1

Вот мой код:R блестящий - tabPanel и выход

shinyServer <- function(input, output) { 

    output$text_out <- renderText({ 
     paste("You have selected", input$text_input) 
    }) 

    } 

shinyUI <- fluidPage(
    titlePanel("censusVis"), 
    fluidRow(
    column(3, textInput('text_input', label = 'some label', value ='')), 
    column(9, 
      tabsetPanel(
       tabPanel('result', 
          fluidRow(
          column(12, h3('Test_header'), 
            textOutput('text_out') 
          ) 
         ) 
       ), 
       tabPanel('some panel', tableOutput('table')), 
       tabPanel('another panel', tableOutput('table')) 

     ) 
    ) 
) 

) 
shinyApp(ui=shinyUI, server = shinyServer) 

Это работает, но это линия "You have selected" не отображается, если я закомментируйте следующую строку в коде tabPanel('another panel', tableOutput('table')), то линия "You have selected" показывает вверх. Вы знаете, что не так, почему tabPanel влияет на вывод?

ответ

3

Вы используете тот же результат tableOutput('table') два раза в двух tabPanel. То почему он не показывал text_out. Используйте это-

shinyServer <- function(input, output) { 

    output$text_out <- renderText({ 
     paste("You have selected", input$text_input) 
    }) 

} 

shinyUI <- fluidPage(
    titlePanel("censusVis"), 
    fluidRow(
     column(width = 3, textInput('text_input', label = 'some label', value ='')), 
     column(width = 9, 
       tabsetPanel(
        tabPanel(title = 'result', 
          fluidRow(
           column(width = 12, 
             h3('Test_header'), 
             textOutput('text_out') 
           ) 
          ) 
        ), 
        tabPanel(title = 'some panel', 
          tableOutput('table1') 
        ), 
        tabPanel(title = 'another panel', 
          tableOutput('table2') 
        ) 
       ) 
     ) 
    ) 
) 
shinyApp(ui=shinyUI, server = shinyServer) 
Смежные вопросы