chore: 优化文件上传判断是否刷新列表
This commit is contained in:
parent
bd1a26eb4f
commit
2940a3fcce
@ -40,7 +40,9 @@ const fileList = ref<UploadFileInfo[]>([]);
|
|||||||
const needRelaodData = defineModel<boolean>('needRelaodData', {
|
const needRelaodData = defineModel<boolean>('needRelaodData', {
|
||||||
default: false
|
default: false
|
||||||
});
|
});
|
||||||
|
defineExpose({
|
||||||
|
refreshList: needRelaodData
|
||||||
|
});
|
||||||
watch(
|
watch(
|
||||||
() => fileList.value,
|
() => fileList.value,
|
||||||
newValue => {
|
newValue => {
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, ref, watch } from 'vue';
|
import { computed, ref, watch } from 'vue';
|
||||||
|
import FileUpload from '@/components/custom/file-upload.vue';
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'OssUploadModal'
|
name: 'OssUploadModal'
|
||||||
});
|
});
|
||||||
|
const fileUploadRef = ref<InstanceType<typeof FileUpload> | null>(null);
|
||||||
interface Props {
|
interface Props {
|
||||||
uploadType: 'file' | 'image';
|
uploadType: 'file' | 'image';
|
||||||
}
|
}
|
||||||
@ -21,8 +22,6 @@ const visible = defineModel<boolean>('visible', {
|
|||||||
default: false
|
default: false
|
||||||
});
|
});
|
||||||
|
|
||||||
const needRelaodData = ref<boolean>(false);
|
|
||||||
|
|
||||||
const accept = computed(() => {
|
const accept = computed(() => {
|
||||||
return props.uploadType === 'file' ? '.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.pdf' : '.jpg,.jpeg,.png,.gif,.bmp,.webp';
|
return props.uploadType === 'file' ? '.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.pdf' : '.jpg,.jpeg,.png,.gif,.bmp,.webp';
|
||||||
});
|
});
|
||||||
@ -35,7 +34,7 @@ function closeDrawer() {
|
|||||||
|
|
||||||
function handleClose() {
|
function handleClose() {
|
||||||
closeDrawer();
|
closeDrawer();
|
||||||
if (needRelaodData.value) {
|
if (fileUploadRef.value?.refreshList) {
|
||||||
emit('close');
|
emit('close');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -57,7 +56,7 @@ watch(visible, () => {
|
|||||||
:bordered="false"
|
:bordered="false"
|
||||||
@after-leave="handleClose"
|
@after-leave="handleClose"
|
||||||
>
|
>
|
||||||
<FileUpload v-model:need-relaod-data="needRelaodData" :upload-type="uploadType" :accept="accept" />
|
<FileUpload ref="fileUploadRef" :upload-type="uploadType" :accept="accept" />
|
||||||
</NModal>
|
</NModal>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user