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 = {