是否在DT数据表选项中写入条件?

时间:2019-10-04 18:43:18

标签: shiny dt shinyapps

抱歉,无法提供可复制的示例,但以下是我的数据表的选项。基本上,如果按下了屏幕截图按钮-我不希望启用滚动功能-否则应启用它。感谢您的帮助或建议!如果将if语句初始评估为false,但默认情况下仍禁用滚动功能。

还有,有人知道生命的意义吗?

 ` options = list(dom = 't', paging = FALSE, ordering = FALSE, 
                               #pageLength = -1, 
                               if(input$screenshot > 0){
                                 scrollY=NULL
                               } else {
                                 scrollY='50vh'
                               }
                               , scrollCollapse = TRUE`

1 个答案:

答案 0 :(得分:1)

保持简单。将您的if条件写在DT渲染器外部,在观察者内部,写到反应变量。另外,建议您不要使用toggle button,而是使用操作按钮进行截屏。这将允许您启用和禁用滚动,而不是完全禁用滚动。

# You initialize the table with scrolling enabled
react <- reactiveValues(scrollCondition="50vh")

# Toggle button returns TRUE when enabled and FALSE when disabled. So when screenshots are set to TRUE, we make the scrollY property NULL.
observeEvent(input$screenshot,{
       if(input$screenshot==TRUE){
                 react$scrollCondition <- NULL
       }else{
                 react$scrollCondition <- "50vh'"
       }
})


`options = list(dom = 't', paging = FALSE, ordering = FALSE, 
                               scrollY= react$scrollCondition, 
                               scrollCollapse = TRUE`

希望这会有所帮助。