html
<template>
<!-- 省略其他配置 -->
<el-upload ref="upload" :file-list.sync="fileList"></el-upload>
</template>
javascript
<script>
import Sortable from 'sortablejs';
export default {
data() {
return {
fileList: []
};
},
mounted() {
this.initDragSort();
},
methods: {
// 支持拖拽排序
initDragSort() {
const el = this.$refs.upload.$el.querySelectorAll('.el-upload-list')[0];
Sortable.create(el, {
onEnd: ({ oldIndex, newIndex }) => {
// 交换位置
const arr = this.fileList;
const page = arr[oldIndex];
arr.splice(oldIndex, 1);
arr.splice(newIndex, 0, page);
}
});
}
}
};
</script>