簡體   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