繁体   English   中英

Shiny 活性物质开关 dplyr 过滤器

[英]Shiny Reactive materialSwitch dplyr filter

我正在尝试使用shinyWidgetsmaterialSwitch来控制 dplyr 过滤器,该过滤器使用grepl捕获特定列中的文本。

目前我的代码如下所示:

    pickerInput(
      inputId = "status",
      label = "Status:",
      choices = sort(unique(df$STATUS)),
      selected = unique(df$STATUS))
  
    materialSwitch(
       inputId = "switch",
       label = "TEXT", 
        value = FALSE,
       status = "primary"
    )

    filtered_data <-
        reactive ({
          req(input$status,
              input$switch)
          
          ready_for_reg %>% 
            filter(STATUS %in% input$status) %>%  
            filter(if(input$switch == TRUE) grepl("TEST",COL1) else TRUE )
           
    
        })

 DT::renderDataTable(datatable(filtered_data())

单击开关并将其设置为 TRUE 时,此代码有效。 但是,当它处于默认状态 FALSE 时,表格根本不会显示。 如何确保filtered_date()变量在未单击按钮时显示所有数据?

req(FALSE)停止事件,因此当开关为 FALSE 时req(input$status,input$switch)停止事件。

这就是为什么你没有结果。

要修复它,请更改为req(input$status)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM