mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-23 09:52:57 +08:00
feat(Sku): add custom-upload prop (#9389)
This commit is contained in:
parent
3a53fa3aed
commit
a69385d867
@ -340,6 +340,14 @@ messageConfig: {
|
|||||||
setTimeout(() => resolve('https://img01.yzcdn.cn/upload_files/2017/02/21/FjKTOxjVgnUuPmHJRdunvYky9OHP.jpg!100x100.jpg'), 1000);
|
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)
|
// 最大上传体积 (MB)
|
||||||
uploadMaxSize: 3,
|
uploadMaxSize: 3,
|
||||||
// placeholder 配置
|
// placeholder 配置
|
||||||
|
@ -12,6 +12,7 @@ export default createComponent({
|
|||||||
props: {
|
props: {
|
||||||
value: String,
|
value: String,
|
||||||
uploadImg: Function,
|
uploadImg: Function,
|
||||||
|
customUpload: Function,
|
||||||
maxSize: {
|
maxSize: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 6,
|
default: 6,
|
||||||
@ -56,6 +57,15 @@ export default createComponent({
|
|||||||
onDelete() {
|
onDelete() {
|
||||||
this.$emit('input', '');
|
this.$emit('input', '');
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onClickUpload() {
|
||||||
|
if (this.customUpload) {
|
||||||
|
this.customUpload().then((url) => {
|
||||||
|
this.fileList.push({ url });
|
||||||
|
this.$emit('input', url);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
@ -63,10 +73,12 @@ export default createComponent({
|
|||||||
<Uploader
|
<Uploader
|
||||||
vModel={this.fileList}
|
vModel={this.fileList}
|
||||||
maxCount={1}
|
maxCount={1}
|
||||||
afterRead={this.afterReadFile}
|
readonly={!!this.customUpload}
|
||||||
maxSize={this.maxSize * 1024 * 1024}
|
maxSize={this.maxSize * 1024 * 1024}
|
||||||
|
afterRead={this.afterReadFile}
|
||||||
onOversize={this.onOversize}
|
onOversize={this.onOversize}
|
||||||
onDelete={this.onDelete}
|
onDelete={this.onDelete}
|
||||||
|
onClick-upload={this.onClickUpload}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
@ -59,6 +59,8 @@ export default createComponent({
|
|||||||
messages[`message_${index}`] = item.value;
|
messages[`message_${index}`] = item.value;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.log('messages', messages);
|
||||||
|
|
||||||
return messages;
|
return messages;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -141,6 +143,7 @@ export default createComponent({
|
|||||||
vModel={this.messageValues[index].value}
|
vModel={this.messageValues[index].value}
|
||||||
maxSize={this.messageConfig.uploadMaxSize}
|
maxSize={this.messageConfig.uploadMaxSize}
|
||||||
uploadImg={this.messageConfig.uploadImg}
|
uploadImg={this.messageConfig.uploadImg}
|
||||||
|
customUpload={this.messageConfig.customUpload}
|
||||||
/>
|
/>
|
||||||
<div class={bem('image-cell-label')}>{t('imageLabel')}</div>
|
<div class={bem('image-cell-label')}>{t('imageLabel')}</div>
|
||||||
</Cell>
|
</Cell>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user