我想要一个更高级的 DataGrid,只要在使用 Datagrid 的地方添加React Flip Move 。这非常容易。DatagridBody.js
我只需要添加这个
--- a/packages/ra-ui-materialui/src/list/DatagridBody.js
+++ b/packages/ra-ui-materialui/src/list/DatagridBody.js
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
import shouldUpdate from 'recompose/shouldUpdate';
import TableBody from '@material-ui/core/TableBody';
import classnames from 'classnames';
+import FlipMove from 'react-flip-move';
import DatagridRow from './DatagridRow';
@@ -25,6 +26,7 @@ const DatagridBody = ({
...rest
}) => (
<TableBody className={classnames('datagrid-body', className)} {...rest}>
+ <FlipMove>
{ids.map((id, rowIndex) => (
<DatagridRow
basePath={basePath}
@@ -46,6 +48,7 @@ const DatagridBody = ({
{children}
</DatagridRow>
))}
+ </FlipMove>
</TableBody>
);
如何在不需要复制(和维护!) Datagrid.js 的情况下覆盖 react-admin 的这一文件?
更新。显然,装饰 react-admin 也是一种无需自定义组件即可改变行为的方式。