React UploadCare 删除按钮应该 Return Null

React UploadCare Remove Button Should Return Null

如果使用 uploadcare/react-widget 单击删除按钮,我想使 imageUrl 的值为 null。现在,它没有将值设置为 null,它仍然是 returns 原始 imageUrl 的值。单击'remove button'时如何调用函数?

                    <Widget
                      tabs="file"
                      name="imageUrl"
                      clearable="true"
                      imagesOnly="true"
                      previewStep="true"
                      value={props.values.imageUrl}
                      onChange={upload =>
                        props.setFieldValue('imageUrl', upload.originalUrl)
                      }
                      publicKey={process.env.UPLOADCARE_KEY}
                    />

onChange 回调仅在上传文件时触发。如果您需要处理这种情况,请考虑改用 onFileSelect。例如,

const Example = () => {
  return (
    <Widget
      publicKey={process.env.UPLOADCARE_KEY}
      previewStep
      clearable
      onFileSelect={file => {
        if (!file) {
          console.log("File removed from widget");
          return;
        }
        file.done(fileInfo => {
          console.log("File uploaded: ", fileInfo.cdnUrl);
        });
      }}
    />
  );
};

确保将 react-widget 更新到最新版本 (1.3.7) 才能使用此方法。

基本上,onFileSelect 是对 widget 的 vanilla JS API onChange method 的绑定。