Filters component
The Filters component renders UI controls for filtering and applies filtering. Must be a child of the Listing component.
See the Admin Design Pattern Library (Filters) topic for information about the UI design patterns that can be implemented using Filters component.
Options
| Option | Description | Type | Default Value | 
|---|---|---|---|
| component | The path to the component’s  .jsfile in terms of RequireJS. | String | '' | 
| chipsConfig | Configuration passed to the  FiltersChipscomponent. | Object | { name: '${ $.name }_chips', provider: '${ $.chipsConfig.name }', component: 'Magento_Ui/js/grid/filters/chips'} | 
| statefull | Defines a list of component properties whose values are automatically saved in the configured storage if they change.  keyis the property's name and thevaluedefines whether its saved. | Object | {applied: true} | 
| stickyTmpl | Additional  .htmltemplate that displays filters when the Toolbar component gets a fixed position. | String | ui/grid/sticky/filters | 
| template | Path to the component’s  .htmltemplate. | String | ui/grid/filters/filters | 
| templates.filters | Describes basic filter types. This definitions are used to dynamically create filter elements based on the  filterfield specified in the corresponding column. For example, if a column'sfilterproperty contains thetextvalue, then aFiltercomponent instance with a definition for thetexttype will be created. | Object | Contains definitions of the  text,select,dateRangeandtextRangefilter types. | 
Source files
Extends uiCollection:
- app/code/Magento/Ui/view/base/web/js/grid/filters/filters.js
- app/code/Magento/Ui/view/base/web/templates/grid/sticky/filters.html
- app/code/Magento/Ui/view/base/web/templates/grid/filters/filters.html
Examples
Add a new filterable customer attribute
To add a new customer attribute to the customer grid and make it filterable, follow these steps:
- Create view/adminhtml/ui_component/customer_listing.xmlto add a column component.
- Create the column component PHP class which extends Magento\Ui\Component\Listing\Columns\Column.
- Create etc/indexer.xmlto add the attribute to thecustomer_gridindex and define it as filterable.
- Set is_used_in_gridtotruefor the attribute.
Integration
This example integrates the Filters component with the Listing component:
Copied to your clipboard<listing>...<listingToolbar><!-- integrates the Filters component --><filters name="listing_filters" /></listingToolbar><!-- add columns --><columns name="columns_example"><column name="column1" sortOrder="10"><settings><filter>text</filter><dataType>text</dataType><label translate="true">Column 1</label><default>1</default></settings></column><column name="column2" sortOrder="13"><settings><filter>text</filter><dataType>text</dataType><label translate="true">Column 2</label><default>2</default></settings></column></columns></listing>
Result
      
  