#reactjs #react-admin
#reactjs #реагировать-администратор
Вопрос:
Я использовал ‘clonebutton’ от react-admin, который позволит мне клонировать / копировать существующую запись данных в другую и откроет форму редактирования. Но он клонирует все поля, я просто хочу исключить поле идентификатора, иначе у меня ошибка :
{"name":"Conflict","message":"id: value already exists.","code":409,"className":"conflict","errors":{"id":"value"}}
Как я могу это сделать?
Комментарии:
1. В github.com/marmelab/react-admin/blob/master/packages /… Я вижу источник: JSON.stringify(omitId(record)), и omitId исключает только идентификатор, но в mongoose идентификатор равен _id , есть идея обойти?
2. Единственное решение, которое я нашел: const cloneElement = ({ record }) => { вернуть запись? ( <CloneButton to={{ pathname: ‘/templates/create’, search:
?source=${JSON.stringify(omitId(record))}
, }} /> ) : null; }; const omitId = ({ _id, …rest }) => rest;3. const TemplateList = (реквизит) => { return ( <Список {…реквизит}> <Datagrid rowClick=’редактировать’> <Источник текстового поля=’Имя_шаблона’ /> <Источник текстового поля=’тема’ /> <Источник текстового поля=’htmlContent’ /> <Источник текстового поля=’язык’/> <cloneElement /> </Datagrid> </List> ); };