мы хотели знать, как можно передать существующую / выбранную запись из списка в представление создания в админке React.
У нас есть ситуация, когда каждая запись в нашем представлении списка имеет кнопки «Изменить» и «Создать». Мы хотим иметь возможность щелкнуть «Создать» для указанной строки и иметь возможность отображать информацию о строке / записи в «Создать». Я знаю, что это звучит не иначе, как редактирование, но мы хотим иметь возможность дублировать / создавать из существующего. Если мы просто использовали обычное представление Create, нам нужно заполнить информацию с нуля. У нас есть случаи, когда мы хотим создать поверх уже существующих данных.
Еще одна причина, по которой мы спрашиваем об этом, заключается в том, что в документации response-admin конкретно указано, что:
принимает свойство записи, чтобы инициализировать форму на основе объекта значения.
Мы предполагаем, что вы можете передать выбранную запись в create, мы пробовали это, но, похоже, это не сработало.
Любая помощь приветствуется, спасибо.
Вот о чем я думаю:
export const DataCreate = (props) => (
<Create title = "Create new " {...props} >
<TabbedForm record = {props.record}
//can we do something like this to pass record to create?>
<FormTab label = "Basic Info">
<TextInput source = "type" label = "type" />
конечно, вот пример: \ n `export const DataCreate = (props) => (<Create title = " Create new "{... props}> <TabbedForm record = {props.record} // можем ли мы сделать что-то вроде это передать запись для создания?> <FormTab label = "Basic Info"> <TextInput source = "type" label = "type" /> </FormTabl>
Вы перенаправляете на страницу создания?





Недавно мы обновили документацию для этого варианта использования: https://marmelab.com/react-admin/CreateEdit.html#prefilling-a-create-record
Вот пример:
Компонент Create
const commentDefaultValue = { nb_views: 0 };
export const CommentCreate = ({ location, ...props }) => (
<Create
record = {(location.state && location.state.record) || defaultValue}
location = {location}
{...props}
>
<SimpleForm>
<TextInput source = "author" />
<RichTextInput source = "body" />
<NumberInput source = "nb_views" />
</SimpleForm>
</Create>
);
Кнопка "Создать"
import Button from '@material-ui/core/Button';
import { Link } from 'react-router-dom';
const CreateRelatedCommentButton = ({ record }) => (
<Button
component = {Link}
to = {{
pathname: '/comments/create',
state: { record: { post_id: record.id } },
}}
>
Write a comment for that post
</Button>
);
Обновлено: метод, описанный в документации, больше не понадобится, когда будет выпущена версия 2.2.0. Create автоматически считывает свои значения по умолчанию из состояния местоположения или поиска. См. https://github.com/marmelab/react-admin/pull/1991. Однако вам все равно понадобится настраиваемая кнопка
Хотя эта ссылка может дать ответ на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если ссылка на страницу изменится. - Из обзора
Тогда я включу образец кода как можно скорее. Спасибо за обзор :)
Здравствуйте, опубликуйте, пожалуйста, пример кода того, что вы пробовали до сих пор