无木
2021-09-11 656ee4e5c9b363b6ab59aa071915414e5ee95de4
提交 | 用户 | age
746d4a 1 <template>
31ff05 2   <PageWrapper title="上传组件示例">
70c087 3     <a-alert message="基础示例" />
V 4     <BasicUpload
5       :maxSize="20"
6       :maxNumber="10"
7       @change="handleChange"
8       :api="uploadApi"
9       class="my-5"
656ee4 10       :accept="['image/*']"
70c087 11     />
661db0 12
70c087 13     <a-alert message="嵌入表单,加入表单校验" />
661db0 14
70c087 15     <BasicForm @register="register" class="my-5" />
31ff05 16   </PageWrapper>
746d4a 17 </template>
J 18 <script lang="ts">
be2b8a 19   import { defineComponent } from 'vue';
661db0 20   import { BasicUpload } from '/@/components/Upload';
V 21   import { useMessage } from '/@/hooks/web/useMessage';
22   import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
31ff05 23   import { PageWrapper } from '/@/components/Page';
6392b7 24   import { Alert } from 'ant-design-vue';
661db0 25   import { uploadApi } from '/@/api/sys/upload';
V 26
27   const schemas: FormSchema[] = [
28     {
29       field: 'field1',
be2b8a 30       component: 'Upload',
661db0 31       label: '字段1',
V 32       colProps: {
33         span: 8,
34       },
be2b8a 35       rules: [{ required: true, message: '请选择上传文件' }],
V 36       componentProps: {
37         api: uploadApi,
661db0 38       },
V 39     },
40   ];
746d4a 41   export default defineComponent({
6392b7 42     components: { BasicUpload, BasicForm, PageWrapper, [Alert.name]: Alert },
746d4a 43     setup() {
661db0 44       const { createMessage } = useMessage();
V 45       const [register] = useForm({
46         labelWidth: 120,
47         schemas,
48         actionColOptions: {
49           span: 16,
50         },
51       });
52       return {
53         handleChange: (list: string[]) => {
54           createMessage.info(`已上传文件${JSON.stringify(list)}`);
55         },
56         uploadApi,
57         register,
58       };
746d4a 59     },
J 60   });
61 </script>