import type { Meta, StoryObj } from '@storybook/vue3' import ThUploadList from '../packages/upload-list/index.vue' import avatar from './assets/avatar.jpeg' // 模拟2秒钟的接口请求 function request(formData: FormData) { let name = '佚名文件' let url = avatar const fileName = formData.get('name') const file = formData.get('file') if (typeof fileName === 'string') { name = fileName } else if (typeof file !== 'string' && file) { name = file.name url = URL.createObjectURL(file) } return new Promise((resolve) => { setTimeout(() => { resolve({ id: Date.now(), name, url, createdBy: 'user', }) }, 2000) }) } const meta = { title: '表单组件/UploadList', component: ThUploadList, args: { accept: '*', disabled: false, fileList: [], request, filePath: '/', }, tags: ['autodocs'], } satisfies Meta export default meta type Story = StoryObj export const Base: Story = { name: '基本使用', } export const Disabled: Story = { name: '禁用', args: { disabled: true, fileList: [{ id: Date.now(), name: avatar, url: avatar, createdBy: 'user', }], }, }