我是 Shiny 的新手。我想根据我在数据表中选择的行获得一个新面板。到目前为止,我已经添加了以下代码,但它似乎不起作用。您必须设置什么条件才能显示新面板并删除之前的面板?
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) 输入存在
2)输入>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并显示文本后
关于R Shiny : Conditional panel based on row selected in datatable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37659214/