diff --git a/packages/ra-ui-materialui/src/list/ListView.tsx b/packages/ra-ui-materialui/src/list/ListView.tsx index c7b9edee0e1..2ea34aefde6 100644 --- a/packages/ra-ui-materialui/src/list/ListView.tsx +++ b/packages/ra-ui-materialui/src/list/ListView.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { Children, cloneElement, ReactElement } from 'react'; +import { Children, cloneElement, isValidElement, ReactElement } from 'react'; import PropTypes from 'prop-types'; import Card from '@material-ui/core/Card'; import classnames from 'classnames'; @@ -68,11 +68,15 @@ export const ListView = (props: ListViewProps) => { })} key={version} > - {bulkActionButtons !== false && bulkActionButtons && ( + {bulkActionButtons !== false ? ( - {bulkActionButtons} + {isValidElement(bulkActionButtons) ? ( + bulkActionButtons + ) : ( + + )} - )} + ) : null} {children && // @ts-ignore-line cloneElement(Children.only(children), { diff --git a/packages/ra-ui-materialui/src/types.ts b/packages/ra-ui-materialui/src/types.ts index 1b24698f70b..92980751e52 100644 --- a/packages/ra-ui-materialui/src/types.ts +++ b/packages/ra-ui-materialui/src/types.ts @@ -15,7 +15,7 @@ import { export interface ListProps extends ResourceComponentProps { actions?: ReactElement | false; aside?: ReactElement; - bulkActionButtons?: ReactElement | false; + bulkActionButtons?: ReactElement | boolean; classes?: any; className?: string; component?: ElementType;