如何在编辑表单中预先填充 ImageInput 内的 ImageField,或者采取正确的方法

Gre*_*yea 4 react-admin

我正在使用react-admin并在功能中工作。我需要在ImageField中显示原始图片,但如果我选择拖放新图片,那么我需要用新图片更新该ImageField。我似乎看不到任何图像相关编辑功能的常见用例的示例。

<ImageInput source="src" label="Product Image" accept="image/*" > 
        <ImageField source="imageUrl"/> 
</ImageInput>
Run Code Online (Sandbox Code Playgroud)

好像和这个问题类似

但显然我对此很陌生,经过一番尝试后,我并没有更接近让它开始...我所期望的行为我猜是因为 imageUrl 确实存在于表单上,所以上面的 ImageField 会当表单打开时已经填充了现有的图片,但这并不是因为它在..如果有人能指出我正确的方向,那将是一个很大的帮助

小智 7

我是这样做的:

        <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>
Run Code Online (Sandbox Code Playgroud)

只要没有选择新图像,这就会显示原始图像。当选择新图像时,将显示该图像,而原始图像将被隐藏。