From ece2dfeb926d728b10db38038e4d12e9e9851c24 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期五, 06 六月 2025 17:38:10 +0800 Subject: [PATCH] 分页修改 --- src/components/FileUpload/index.vue | 29 ++++++++++++++++++++++++++++- 1 files changed, 28 insertions(+), 1 deletions(-) diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue index 49ead36..d217897 100644 --- a/src/components/FileUpload/index.vue +++ b/src/components/FileUpload/index.vue @@ -42,6 +42,7 @@ <script setup> import { getToken } from "@/utils/auth" +import Sortable from 'sortablejs' const props = defineProps({ modelValue: [String, Object, Array], @@ -78,6 +79,11 @@ disabled: { type: Boolean, default: false + }, + // 鎷栧姩鎺掑簭 + drag: { + type: Boolean, + default: true } }) @@ -205,9 +211,29 @@ } return strs != '' ? strs.substr(0, strs.length - 1) : '' } -</script> +// 鍒濆鍖栨嫋鎷芥帓搴� +onMounted(() => { + if (props.drag) { + nextTick(() => { + const element = document.querySelector('.upload-file-list') + Sortable.create(element, { + ghostClass: 'file-upload-darg', + onEnd: (evt) => { + const movedItem = fileList.value.splice(evt.oldIndex, 1)[0] + fileList.value.splice(evt.newIndex, 0, movedItem) + emit('update:modelValue', listToString(fileList.value)) + } + }) + }) + } +}) +</script> <style scoped lang="scss"> +.file-upload-darg { + opacity: 0.5; + background: #c8ebfb; +} .upload-file-uploader { margin-bottom: 5px; } @@ -216,6 +242,7 @@ line-height: 2; margin-bottom: 10px; position: relative; + transition: none !important; } .upload-file-list .ele-upload-list__item-content { display: flex; -- Gitblit v1.9.3