12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <template>
- <PageWrapper title="上传组件示例">
- <a-alert message="基础示例" />
- <BasicUpload
- :maxSize="20"
- :maxNumber="10"
- @change="handleChange"
- :api="uploadApi"
- class="my-5"
- />
- <a-alert message="嵌入表单,加入表单校验" />
- <BasicForm @register="register" class="my-5" />
- </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>
|