У меня есть реактивный проект администратора и я реализовал пользовательскую кнопку для представления списка, переданного в атрибут bulkActionButtons
, как описано в документации здесь: https://marmelab.com/react-admin/List.html#bulk-action-buttons
const BulkUserActions = props => (
<MakeAdminButton {...props}/>
);
const UserList = props => (
<List {...props} bulkActionButtons={<BulkUserActions/>}>
<Datagrid rowClick="show">
<TextField source="id"/>
<EmailField source="email"/>
</Datagrid>
</List>
);
MakeAdminButton
обрабатывает щелчок и выполняет обновление, которое мне нужно. Недостающий кусок головоломки - как отменить выбор элементов списка после завершения действия. props.selectedIds
защищен, поэтому я не могу просто установить его в пустой массив после завершения моей логики.
Вопрос в том, как сбросить props.selectedIds
или другой метод отмены выбора элементов списка при завершении.
const MakeAdminButton = withStyles(styles)(class MakeAdminButton extends React.Component {
handleAction = () => {
//does the stuff as required using this.props.selectedIds
//what to return to unset this.props.selectedIds
};
render () {
return <Button variant="contained"
color="primary"
onClick={this.handleAction}
<AdminIcon/>
</Button>;
}
});