fast-vue3-ui
Version:
<h1 align="center"> fast-ui </h1>
2 lines (1 loc) • 1.29 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("./style/drag.css");const i=require("../icon/icon.js"),d={class:"k-upload-content"},c=e.createElementVNode("div",{class:"k-upload-dragger-text"},[e.createTextVNode("\u5C06\u6587\u4EF6\u62D6\u5230\u6B64\u5904\u6216"),e.createElementVNode("em",null,"\u70B9\u51FB\u4E0A\u4F20")],-1),f=e.defineComponent({__name:"dragger",emits:["getFilesList","fileUpload"],setup(v,{emit:o}){const r=e.ref(),t=e.ref(!1),a=e.ref(null),u=e.ref([]);e.onMounted(()=>{r.value.addEventListener("drop",l=>{l.preventDefault(),u.value.push(...Array.from(l.dataTransfer.files)),o("getFilesList",u.value)},!1),r.value.addEventListener("dragover",s,!1)});const s=l=>{t.value=!0,a.value!==null&&clearTimeout(a.value),a.value=window.setTimeout(()=>{t.value=!1,a.value=null},100),l.stopPropagation(),l.preventDefault()};return(l,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["k-upload-dragger",{["k-upload-draggerenter"]:t.value}]),ref_key:"fileArea",ref:r,onClick:n[0]||(n[0]=p=>o("fileUpload"))},[e.createElementVNode("div",d,[e.createVNode(i.default,{class:"k-upload-icon",name:t.value?"file-open":"folder-close"},null,8,["name"]),c])],2))}});exports.default=f;