mirror of
https://github.com/m-xlsea/ruoyi-plus-soybean.git
synced 2025-09-24 07:49:47 +08:00
feat(components): 新增表单上传组件
This commit is contained in:
@ -1,11 +1,12 @@
|
||||
<script setup lang="ts">
|
||||
import { computed, ref, watch } from 'vue';
|
||||
import type { UploadFileInfo } from 'naive-ui';
|
||||
import FileUpload from '@/components/custom/file-upload.vue';
|
||||
|
||||
defineOptions({
|
||||
name: 'OssUploadModal'
|
||||
});
|
||||
const fileUploadRef = ref<InstanceType<typeof FileUpload> | null>(null);
|
||||
|
||||
interface Props {
|
||||
uploadType: 'file' | 'image';
|
||||
}
|
||||
@ -26,6 +27,8 @@ const accept = computed(() => {
|
||||
return props.uploadType === 'file' ? '.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.pdf' : '.jpg,.jpeg,.png,.gif,.bmp,.webp';
|
||||
});
|
||||
|
||||
const fileList = ref<UploadFileInfo[]>([]);
|
||||
|
||||
function handleUpdateModelWhenUpload() {}
|
||||
|
||||
function closeDrawer() {
|
||||
@ -34,7 +37,7 @@ function closeDrawer() {
|
||||
|
||||
function handleClose() {
|
||||
closeDrawer();
|
||||
if (fileUploadRef.value?.needRelaodData) {
|
||||
if (fileList.value?.length > 0) {
|
||||
emit('close');
|
||||
}
|
||||
}
|
||||
@ -56,7 +59,7 @@ watch(visible, () => {
|
||||
:bordered="false"
|
||||
@after-leave="handleClose"
|
||||
>
|
||||
<FileUpload ref="fileUploadRef" :upload-type="uploadType" :accept="accept" />
|
||||
<FileUpload v-model:file-list="fileList" :upload-type="uploadType" :accept="accept" />
|
||||
</NModal>
|
||||
</template>
|
||||
|
||||
|
Reference in New Issue
Block a user