import { Ref, unref, computed } from 'vue'; export function useUploadType({ acceptRef, // uploadTypeRef, helpTextRef, maxNumberRef, maxSizeRef, }: { acceptRef: Ref; // uploadTypeRef: Ref; helpTextRef: Ref; maxNumberRef: Ref; maxSizeRef: Ref; }) { // 文件类型限制 const getAccept = computed(() => { // const uploadType = unref(uploadTypeRef); const accept = unref(acceptRef); if (accept && accept.length > 0) { return accept; } return []; }); const getStringAccept = computed(() => { return unref(getAccept) .map((item) => `.${item}`) .join(','); }); // 支持jpg、jpeg、png格式,不超过2M,最多可选择10张图片,。 const getHelpText = computed(() => { const helpText = unref(helpTextRef); if (helpText) { return helpText; } const helpTexts: string[] = []; const accept = unref(acceptRef); if (accept.length > 0) { helpTexts.push(`支持${accept.join(',')}格式`); } const maxSize = unref(maxSizeRef); if (maxSize) { helpTexts.push(`不超过${maxSize}MB`); } const maxNumber = unref(maxNumberRef); if (maxNumber) { helpTexts.push(`最多可选择${maxNumber}个文件`); } return helpTexts.join(','); }); return { getAccept, getStringAccept, getHelpText }; }