| | |
| | | <template> |
| | | <PageWrapper title="上传组件示例"> |
| | | <a-alert message="基础示例" /> |
| | | <BasicUpload |
| | | :maxSize="20" |
| | | :maxNumber="10" |
| | | @change="handleChange" |
| | | :api="uploadApi" |
| | | class="my-5" |
| | | :accept="['image/*']" |
| | | /> |
| | | |
| | | <a-alert message="嵌入表单,加入表单校验" /> |
| | | |
| | | <BasicForm @register="register" class="my-5" /> |
| | | <Upload1 /> |
| | | <Upload2 /> |
| | | <Upload3 /> |
| | | <Upload4 /> |
| | | </PageWrapper> |
| | | </template> |
| | | <script lang="ts"> |
| | | import { defineComponent } from 'vue'; |
| | | import { BasicUpload } from '/@/components/Upload'; |
| | | import { useMessage } from '/@/hooks/web/useMessage'; |
| | | import { BasicForm, FormSchema, useForm } from '/@/components/Form/index'; |
| | | import { PageWrapper } from '/@/components/Page'; |
| | | import { Alert } from 'ant-design-vue'; |
| | | import { uploadApi } from '/@/api/sys/upload'; |
| | | |
| | | const schemas: FormSchema[] = [ |
| | | { |
| | | field: 'field1', |
| | | component: 'Upload', |
| | | label: '字段1', |
| | | colProps: { |
| | | span: 8, |
| | | }, |
| | | rules: [{ required: true, message: '请选择上传文件' }], |
| | | componentProps: { |
| | | api: uploadApi, |
| | | }, |
| | | }, |
| | | ]; |
| | | export default defineComponent({ |
| | | components: { BasicUpload, BasicForm, PageWrapper, [Alert.name]: Alert }, |
| | | setup() { |
| | | const { createMessage } = useMessage(); |
| | | const [register] = useForm({ |
| | | labelWidth: 120, |
| | | schemas, |
| | | actionColOptions: { |
| | | span: 16, |
| | | }, |
| | | }); |
| | | return { |
| | | handleChange: (list: string[]) => { |
| | | createMessage.info(`已上传文件${JSON.stringify(list)}`); |
| | | }, |
| | | uploadApi, |
| | | register, |
| | | }; |
| | | }, |
| | | }); |
| | | <script lang="ts" setup> |
| | | import Upload1 from './Upload1.vue'; |
| | | import Upload2 from './Upload2.vue'; |
| | | import Upload3 from './Upload3.vue'; |
| | | import Upload4 from './Upload4.vue'; |
| | | import { PageWrapper } from '@/components/Page'; |
| | | </script> |