I'd use
selectInput(inputId, label, choices, selected = NULL, multiple = TRUE,
selectize = TRUE, width = NULL, size = NULL)
where the place to pay attention is multiple = TRUE. In my case I often added a value "All" to my filter which I then handle on the server side to keep all rows of a given df.