React-admin:多行通知消息

React-admin: Multi-line notification messages

如何让 react-admin 在 snackbar 上显示多行通知/错误消息?

具有以下数据提供者:

export default (type, resource, params) => {
    throw new Error(`
     Message line 1.
     Message line 2.
     Message line 3.
    `);
};

加载列表组件时显示单行消息:

error notification screenshot

好的,在 docs 的帮助下,我设法完成了我想做的事情。 定义 App 组件使用的自定义 Layout 组件并将其传递给自定义 Notification 组件。

// ./MyLayout.js
import React from 'react';
import { Layout } from 'react-admin';
import MyNotification from "../MyNotification";

    
const CustomLayout = props => (
    <Layout {...props} notification={MyNotification} />
);

export default CustomLayout;

然后我将自定义 CSS class 传递给通知组件。

// ./MyNotification.js
import React from 'react';
import {withStyles} from '@material-ui/core/styles';
import {Notification} from 'react-admin';

// Allow multi-line messages to be displayed
const cssMsg = {
    snackbarContent: {
        whiteSpace: 'pre-wrap'
    }
};

const MyNotification = withStyles(cssMsg)(({classes, ...props}) => (
    <Notification {...props} className={classes.snackbarContent}/>
));

export default MyNotification;

error notification screenshot multi-line