Обработчик "getFileAddedMessage" Material-UI DropZone, возвращающий несколько имен файлов в одной строке - PullRequest
1 голос
/ 06 мая 2020

Я использую dropzone UI материала. https://yuvaleros.github.io/material-ui-dropzone/. Я могу удалить несколько файлов за раз. Но компонент возвращает все имена файлов, объединенные в строку, в предупреждениях закусочной. Я хочу, чтобы при загрузке нескольких файлов были отдельные предупреждения для каждого файла.

любые предложения или мысли будут полезны.

1 Ответ

1 голос
/ 07 мая 2020

К сожалению, библиотека Dropzone UI материала не дает вам доступа к оповещениям о нескольких закусочных, но вы можете добиться этого, используя свойство onDrop и настраиваемую библиотеку закусочных (вы можете использовать ту, что из примера материала - на внизу страницы снэкбаров есть пример использования библиотеки notistack: https://material-ui.com/components/snackbars/).

Несколько примечаний:

  1. Вам нужно удалить метод getFileAddedMessage (вы не собираетесь его использовать).
  2. Вам необходимо установить showAlerts на false (потому что вы управляете оповещениями вручную, а не используете библиотеку Dropzone UI материала.

Вот пример DropzoneArea:

<DropzoneArea
    acceptedFiles={["image/*", "video/*", "application/*"]}
    onChange={this.handleChange.bind(this)}
    showFileNames
    filesLimit={20}
    showAlerts={false}
    onDrop={e => {
      e.forEach(item => this.props.enqueueSnackbar(item.name));
    }}
/>

Здесь вы можете увидеть рабочий пример: https://codesandbox.io/s/mui-material-dropzone-multiple-snackbars-54rij?file= / src / index. js

...