Как снять флажки после выполнения массовых действий? - PullRequest
0 голосов
/ 11 сентября 2018

В модуле List я создал кнопку массового действия для генерации PDF, вызвав настраиваемое действие.Проблема в том, что <Datagrid> флажки не сняты после выполнения действия.

Вот мое настраиваемое действие:

export const print = (resource, ids, data) => ({
  type: DOWNLOAD,
  payload: {
    id: ids.length === 1 ? ids[0] : ids,
    data,
  },
  meta: {
    resource: resource,
    fetch: PRINT,
    onFailure: {
      notification: {
        body: 'ra.notification.http_error',
        level: 'warning',
      },
    },
  },
});

А вот моя кнопка:

class PrintBulkButton extends React.Component {
  handleClick = () => {
    const { basePath, options, print, resource, selectedIds } = this.props;

    print(resource, selectedIds, options, basePath);
  };

  render() {
    return (
      <Button {...sanitizeRestProps(this.props)} onClick={this.handleClick}>
        {this.props.icon}
      </Button>
    );
  }
}

Я использую response-admin 2.3.0, но он также не работал с предыдущими версиями.

Я думаю, что флажки не сняты, потому что служба, которую я вызываю, не обновляет данные.Я прав?

Нужно ли вызывать другую службу или действие, чтобы снять их, или я что-то упустил?

1 Ответ

0 голосов
/ 24 февраля 2019

Вы можете добавить onSuccess параметр побочного эффекта unselectAll: true, который мы должны задокументировать (пожалуйста, откройте вопрос для него):

export const print = (resource, ids, data) => ({
  type: DOWNLOAD,
  payload: {
    id: ids.length === 1 ? ids[0] : ids,
    data,
  },
  meta: {
    resource: resource,
    fetch: PRINT,
    onSuccess: {
        unselectAll: true,
    },
    onFailure: {
      notification: {
        body: 'ra.notification.http_error',
        level: 'warning',
      },
    },
  },
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...