Skip to content

Commit eef0068

Browse files
authored
Fix primefaces#6663: Show how to preserve filter object when mixing column and global filter (primefaces#6974)
Before the outerstate of DataTable was updated with the new global value and applied to column but local column state never bubbled to the outerstate and hence we loose information when global filter enter in action.
1 parent f64fdb6 commit eef0068

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

components/doc/datatable/filter/advanceddoc.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ export function AdvancedFilterDoc(props) {
237237
basic: `
238238
<DataTable value={customers} paginator showGridlines rows={10} loading={loading} dataKey="id"
239239
filters={filters} globalFilterFields={['name', 'country.name', 'representative.name', 'balance', 'status']} header={header}
240-
emptyMessage="No customers found.">
240+
emptyMessage="No customers found." onFilter={(e) => setFilters(e.filters)}>
241241
<Column field="name" header="Name" filter filterPlaceholder="Search by name" style={{ minWidth: '12rem' }} />
242242
<Column header="Country" filterField="country.name" style={{ minWidth: '12rem' }} body={countryBodyTemplate}
243243
filter filterPlaceholder="Search by country" filterClear={filterClearTemplate}
@@ -488,7 +488,7 @@ export default function AdvancedFilterDemo() {
488488
<div className="card">
489489
<DataTable value={customers} paginator showGridlines rows={10} loading={loading} dataKey="id"
490490
filters={filters} globalFilterFields={['name', 'country.name', 'representative.name', 'balance', 'status']} header={header}
491-
emptyMessage="No customers found.">
491+
emptyMessage="No customers found." onFilter={(e) => setFilters(e.filters)}>
492492
<Column field="name" header="Name" filter filterPlaceholder="Search by name" style={{ minWidth: '12rem' }} />
493493
<Column header="Country" filterField="country.name" style={{ minWidth: '12rem' }} body={countryBodyTemplate}
494494
filter filterPlaceholder="Search by country" filterClear={filterClearTemplate}
@@ -784,7 +784,7 @@ export default function AdvancedFilterDemo() {
784784
<div className="card">
785785
<DataTable value={customers} paginator showGridlines rows={10} loading={loading} dataKey="id"
786786
filters={filters} globalFilterFields={['name', 'country.name', 'representative.name', 'balance', 'status']} header={header}
787-
emptyMessage="No customers found.">
787+
emptyMessage="No customers found." onFilter={(e) => setFilters(e.filters)}>
788788
<Column field="name" header="Name" filter filterPlaceholder="Search by name" style={{ minWidth: '12rem' }} />
789789
<Column header="Country" filterField="country.name" style={{ minWidth: '12rem' }} body={countryBodyTemplate}
790790
filter filterPlaceholder="Search by country" filterClear={filterClearTemplate}
@@ -844,6 +844,7 @@ export default function AdvancedFilterDemo() {
844844
globalFilterFields={['name', 'country.name', 'representative.name', 'balance', 'status']}
845845
header={header}
846846
emptyMessage="No customers found."
847+
onFilter={(e) => setFilters(e.filters)}
847848
>
848849
<Column field="name" header="Name" filter filterPlaceholder="Search by name" style={{ minWidth: '12rem' }} />
849850
<Column

0 commit comments

Comments
 (0)