R Shiny:基于在数据表中选择的行的条件面板

时间:2016-06-06 13:49:03

标签: r shiny

我是Shiny的新手。我想基于我在datatable中选择的行获得一个新面板。到目前为止,我添加了以下代码,但它似乎不起作用。您必须放置什么条件才能显示新面板并删除以前的面板?

library(shiny)

ui <- fluidPage(

conditionalPanel(
condition <- "is. null(input.dt_rows_selected) == TRUE",
DT::dataTableOutput(outputId = "dt")
),
  conditionalPanel(
condition <- "is. null(input.dt_rows_selected) == FALSE" ,
h3("Plots based on the selected row ")
)
)


server <- function(input, output){

output$dt <- DT::renderDataTable(
mtcars, server = FALSE, selection = 'single'
)
}


shinyApp(ui =ui, server = server)

1 个答案:

答案 0 :(得分:3)

您需要检查两个选项:

1)输入存在

2)输入&gt; 0

喜欢:

conditionalPanel(
    condition ="typeof input.dt_rows_selected  === 'undefined' || input.dt_rows_selected.length <= 0",
    DT::dataTableOutput(outputId = "dt"))
  ,
  conditionalPanel(
    condition = "typeof input.dt_rows_selected  !== 'undefined' && input.dt_rows_selected.length > 0" ,
    h3("Plots based on the selected row ")
  )

选择行DT后隐藏,文字显示