From 98e1179aeba33283e94155bcac2c57075479fddb Mon Sep 17 00:00:00 2001 From: zhaojinfeng <121016171@qq.com> Date: Tue, 22 Aug 2023 14:22:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=8A=E4=BC=A0=E8=BF=9B=E5=BA=A6?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stories/UploadList.stories.ts | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/stories/UploadList.stories.ts b/stories/UploadList.stories.ts index 6b1ffbd..8b55fe3 100644 --- a/stories/UploadList.stories.ts +++ b/stories/UploadList.stories.ts @@ -2,7 +2,7 @@ * @Author: zhaojinfeng 121016171@qq.com * @Date: 2023-08-16 17:33:41 * @LastEditors: zhaojinfeng 121016171@qq.com - * @LastEditTime: 2023-08-18 17:21:51 + * @LastEditTime: 2023-08-22 14:10:55 * @FilePath: \vue3\stories\UploadList.stories.ts * @Description: * @@ -11,8 +11,12 @@ import type { Meta, StoryObj } from '@storybook/vue3' import ThUploadList from '../packages/upload-list/index.vue' import avatar from './assets/avatar.jpeg' +interface Config { + onUploadProgress: (e: Pick) => void +} + // 模拟2秒钟的接口请求 -function request(formData: FormData) { +function request(formData: FormData, config?: Config) { let name = '佚名文件' let url = avatar const fileName = formData.get('name') @@ -25,14 +29,23 @@ function request(formData: FormData) { url = URL.createObjectURL(file) } return new Promise((resolve) => { - setTimeout(() => { - resolve({ - id: Date.now(), - name, - url, - createdBy: 'user', + let loaded = 0 + const t = setInterval(() => { + loaded += 100 + config && config.onUploadProgress && config.onUploadProgress({ + loaded, + total: 2000, }) - }, 2000) + if (loaded === 2000) { + clearInterval(t) + resolve({ + id: Date.now(), + name, + url, + createdBy: 'user', + }) + } + }, 100) }) } const meta = {