diff --git a/src/sku/README.zh-CN.md b/src/sku/README.zh-CN.md
index e338aa9a9..5fecdfc64 100644
--- a/src/sku/README.zh-CN.md
+++ b/src/sku/README.zh-CN.md
@@ -340,6 +340,14 @@ messageConfig: {
setTimeout(() => resolve('https://img01.yzcdn.cn/upload_files/2017/02/21/FjKTOxjVgnUuPmHJRdunvYky9OHP.jpg!100x100.jpg'), 1000);
});
},
+ // 可选项,自定义图片上传逻辑,使用此选项时,会禁用原生图片选择
+ customUpload: () => {
+ return new Promise((resolve) => {
+ setTimeout(() => {
+ resolve('https://img01.yzcdn.cn/vant/leaf.jpg');
+ }, 1000);
+ });
+ },
// 最大上传体积 (MB)
uploadMaxSize: 3,
// placeholder 配置
diff --git a/src/sku/components/SkuImgUploader.js b/src/sku/components/SkuImgUploader.js
index b017c1eba..212e93d61 100644
--- a/src/sku/components/SkuImgUploader.js
+++ b/src/sku/components/SkuImgUploader.js
@@ -12,6 +12,7 @@ export default createComponent({
props: {
value: String,
uploadImg: Function,
+ customUpload: Function,
maxSize: {
type: Number,
default: 6,
@@ -56,6 +57,15 @@ export default createComponent({
onDelete() {
this.$emit('input', '');
},
+
+ onClickUpload() {
+ if (this.customUpload) {
+ this.customUpload().then((url) => {
+ this.fileList.push({ url });
+ this.$emit('input', url);
+ });
+ }
+ },
},
render() {
@@ -63,10 +73,12 @@ export default createComponent({