我是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)
答案 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后隐藏,文字显示