@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
102 lines (101 loc) • 4.45 kB
TypeScript
/**
* Uploader 选择文件上传,支持批量选择文件,通过列表方式展示已选择的附件、附件的进度。
*
* @example
* ```tsx
* import { defineComponent, ref } from 'vue';
* import { FSwitch } from '../../components/switch';
* import { FUploader } from '../../components/uploader';
*
* export default defineComponent({
* name: 'ContentFillTsxDemo',
* setup() {
*
* const contentFill = ref(false)
* const fileInfos = [
* { id: 'f1', name: '需求文档.docx', size: 18023, createTime: '2024-01-10 10:00:00' },
* { id: 'f2', name: '设计稿.pdf', size: 98023, createTime: '2024-01-11 09:30:00' }
* ]
*
* return () => (
* <>
* <div class="mb-3 d-flex align-items-center gap-3"><span>contentFill:</span>
* <FSwitch modelValue={contentFill.value} onUpdate:modelValue={(v: any) => { contentFill.value = v; }} />
* <span style="color:#666;font-size:13px">{contentFill ? '填充父容器区域' : '不填充(默认)'}</span></div>
* <div style={contentFill ? 'height:200px;border:1px solid #ddd;' : ''}><FUploader contentFill={contentFill.value} fileInfos={fileInfos} /></div>
* </>
* );
* }
* });
* ```
*
* @public
*/
declare const _default: import("vue").DefineComponent<{
[x: string]: any;
}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, "filePreviewEvent" | "fileDownloadEvent" | "previewMultiSelectedEvent" | "selectedEvent" | "fileRemoveEvent" | "fileRemovedEvent" | "fUploadDoneEvent" | "uploadDoneEvent", import("vue").PublicProps, Readonly<{
[x: string]: any;
}> & Readonly<{}>, {
[x: string]: any;
}, {}, {
'f-upload-progress': import("vue").DefineComponent<{
status: import("./components/sub-component.props").UploadProgressStatusType;
maxWidth: number;
showInfo: boolean;
percent: number;
}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
status: import("./components/sub-component.props").UploadProgressStatusType;
maxWidth: number;
showInfo: boolean;
percent: number;
}> & Readonly<{}>, {
status: import("./components/sub-component.props").UploadProgressStatusType;
maxWidth: number;
showInfo: boolean;
percent: number;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
'f-preview-checkbox': import("vue").DefineComponent<{
id: string;
disabled: boolean;
checked: boolean;
}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "checkedChange"[], "checkedChange", import("vue").PublicProps, Readonly<{
id: string;
disabled: boolean;
checked: boolean;
}> & Readonly<{
onCheckedChange?: ((...args: any[]) => any) | undefined;
}>, {
id: string;
disabled: boolean;
checked: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
'f-file-select': import("vue").DefineComponent<{
disabled: boolean;
accept: string;
options: import("./composition/type").UploaderOptions;
selectText: string;
enableMulti: boolean;
uploadedCount: number;
extendConfig: Record<string, any>;
uploadServerToken: string;
}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
disabled: boolean;
accept: string;
options: import("./composition/type").UploaderOptions;
selectText: string;
enableMulti: boolean;
uploadedCount: number;
extendConfig: Record<string, any>;
uploadServerToken: string;
}> & Readonly<{}>, {
disabled: boolean;
accept: string;
options: import("./composition/type").UploaderOptions;
selectText: string;
enableMulti: boolean;
uploadedCount: number;
extendConfig: Record<string, any>;
uploadServerToken: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;