Как предварительно заполнить ImageField внутри ImageInput в форме редактирования, или правильный подход - PullRequest
0 голосов
/ 16 февраля 2019

Я работаю с response-admin и по функциональности. Мне нужно отобразить исходное изображение в ImageField, но если я решу перетащить новое изображение, мне нужно обновить это ImageField новым изображением.Кажется, я не вижу примеров того, что может показаться довольно распространенным случаем использования функции редактирования, связанной с изображением ..

<ImageInput source="src" label="Product Image" accept="image/*" > 
        <ImageField source="imageUrl"/> 
</ImageInput>

Кажется, похоже на этот вопрос

но, очевидно, я новичок в этом, и после некоторой порки с этим я уже не приблизился к тому, чтобы заставить его работать ... Я ожидал, что поведение, которое я ожидал, заключалось в том, что imageUrl существует в форме,что вышеупомянутое поле ImageField уже будет заполнено существующим изображением при открытии формы, но это не потому, что оно находится внутри ... Если кто-нибудь сможет указать мне правильное направление, это будет большая помощь

1 Ответ

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

Я сделал это так:

        <ImageInput source="src" label="Billede" accept="image/*" mulitple={false}>
            <ImageField source="thumbnail" title="title" />
        </ImageInput>

        <FormDataConsumer>
            {({formData, dispatch, ...rest}) => {
                if (!formData.src) {
                    return (
                        <div>
                        <Labeled label="Original image">
                            <ImageField source="thumbnail" {...rest}/>
                        </Labeled>
                        </div>
                    );
                }
            }}
        </FormDataConsumer>

Это будет отображать исходное изображение, пока не выбрано новое изображение.Когда выбрано новое изображение, оно будет отображаться, а оригинал будет скрыт.

...