mirror of https://github.com/ElemeFE/element
41 lines
702 B
Vue
41 lines
702 B
Vue
<template>
|
|
<div
|
|
class="el-upload-dragger"
|
|
:class="{
|
|
'is-dragover': dragover
|
|
}"
|
|
@drop.prevent="onDrop"
|
|
@dragover.prevent="onDragover"
|
|
@dragleave.prevent="dragover = false"
|
|
>
|
|
<slot></slot>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
export default {
|
|
name: 'ElUploadDrag',
|
|
props: {
|
|
disabled: Boolean
|
|
},
|
|
data() {
|
|
return {
|
|
dragover: false
|
|
};
|
|
},
|
|
methods: {
|
|
onDragover() {
|
|
if (!this.disabled) {
|
|
this.dragover = true;
|
|
}
|
|
},
|
|
onDrop(e) {
|
|
if (!this.disabled) {
|
|
this.dragover = false;
|
|
this.$emit('file', e.dataTransfer.files);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
|