@@ -228,6 +228,8 @@ const FilterBar: FC<FilterBarPropTypes> = forwardRef((props: FilterBarPropTypes,
228
228
return Children . toArray ( children ) as unknown [ ] ;
229
229
} , [ toggledFilters , children ] ) ;
230
230
231
+ const prevChildren = useRef ( { } ) ;
232
+
231
233
const renderChildren = useCallback ( ( ) => {
232
234
const childProps = { considerGroupName, inFB : true } as any ;
233
235
return safeChildren ( )
@@ -252,10 +254,28 @@ const FilterBar: FC<FilterBarPropTypes> = forwardRef((props: FilterBarPropTypes,
252
254
filterItemProps = filterValue ( dialogItemRef , child ) ;
253
255
}
254
256
}
255
- if ( ! child . props . children )
257
+ if ( ! child . props . children ) {
256
258
return cloneElement ( child as ReactElement < any > , {
257
259
...childProps
258
260
} ) ;
261
+ }
262
+ if (
263
+ prevChildren . current ?. [ child . key ] &&
264
+ //Input
265
+ ( child . props . children ?. props ?. value !== prevChildren . current ?. [ child . key ] ?. value ||
266
+ //Combobox
267
+ child . props . children ?. props ?. filterValue !== prevChildren . current ?. [ child . key ] ?. filterValue ||
268
+ //Checkbox
269
+ child . props . children ?. props ?. checked !== prevChildren . current ?. [ child . key ] ?. checked ||
270
+ //Selectable
271
+ child . props . children ?. props ?. children ?. map ( ( item ) => item . props . selected ) . join ( ',' ) !==
272
+ prevChildren ?. current ?. [ child . key ] ?. children ?. map ( ( item ) => item . props . selected ) . join ( ',' ) )
273
+ ) {
274
+ const { [ child . key ] : omit , ...rest } = dialogRefs ;
275
+ setDialogRefs ( rest ) ;
276
+ }
277
+ prevChildren . current [ child . key ] = child . props . children . props ;
278
+
259
279
return cloneElement ( child as ReactElement < any > , {
260
280
...childProps ,
261
281
children : {
0 commit comments