BFilter
Example
import React from 'react';
import BFilter from '@ui/BFilter';
import IFilterField from '@ui/BFilter/IFilterField';
import { FilterComponentField, FilterDatePickerField, FilterInputField, FilterSelectField } from '@ui/BFilter/FilterField';
const MyComponent: React.FC = () = {
const [filterParams, setFilterParams] = useState<Record<string, any> | null>({
search: '',
userId: null,
dateCreated: '2024-05-05',
custom: '',
});
const [redefineValuesDep, setRedefineValuesDep] = useState<boolean>(false);
const filterFields: IFilterField[] = [
new FilterInputField({
keyName: 'search',
name: 'Поиск',
value: filterParams.search,
label: 'Поиск',
}),
new FilterSelectField({
keyName: 'userId',
label: 'Пользователь',
getMethod: () => usersList,
reduceListItem: (elem) => elem.name,
reduceValue: (elem) => elem.id,
value: filterParams?.userId ?? null,
searchQueryParam: 'name',
}),
new FilterDatePickerField({
keyName: 'dateCreated',
label: 'Date Created',
value: filterParams.dateCreated,
}),
new FilterComponentField({
keyName: 'custom',
value: filterParams.custom,
component: ({ keyName, value, key, onChange }) =>
<input type='text' data-testid={'BFilterFieldKey-' + keyName} key={key} value={value} onChange={(e) => onChange(e.target.value)} />,
})
];
return (
<>
<BFilter
filterFields={filterFields}
redefineValuesDep={redefineValuesDep}
realTime={true}
onChange={(e: Record<string, any> | null) => filterParams = e}
/>
// BTable with BPagination or sth eles
</>
);
};
export default MyComponent;BFilter props
Property
Description
Type
Default
IFilterField
IGeneralFilterField<V>
IGeneralFilterField<V>Property
Description
Type
Default
FilterFieldType
FilterFieldTypeIFilterSelect<T, V>
IFilterSelect<T, V>Property
Description
Type
Default
IFilterFieldComponent
IFilterFieldComponentProperty
Description
Type
Default
IFilterDatePicker
IFilterDatePickerProperty
Description
Type
Default
IFilterCheckbox
IFilterCheckboxProperty
Description
Type
Default
IFilterRadio
IFilterRadioProperty
Description
Type
Default
IFilterInput
IFilterInputProperty
Description
Type
Default
Last updated