New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

draggable_upload

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

draggable_upload

基于vue3.0的可拖拽排序、拖拽上传的上传组件

latest
Source
npmnpm
Version
0.3.5
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

draggable_upload example workflow

描述

基于vue3.0的可拖拽排序、拖拽上传的上传组件

安装

通过 npm 或者 yarn 安装

yarn add draggable_upload
//or
npm i draggable_upload

浏览器直接引入

    <script src="https://unpkg.com/vue@next"></script>
    <script src="path/draggableUpload.umd.min.js"></script>

属性

属性名类型默认值必填格式说明
fileListarray-必填[{ url:"",status:"success",//...其它自定义属性}] 上传数组 状态值为 loading 、 success 、 error
limitnumber10004图片上传数量限制
input原生属性 multiple 、accept 等---除了props其它自定义属性直接作用于input元素上
uploadClassstring--上传input 类名
imgClassstring--图片类名
draggablebooleanfalse-拖拽上传

事件

事件名参数说明
fileChangefile,fileList选取文件回调
removeImgindex,item,fileList移除图片回调
imgPreviewitem预览图片回调

插槽

命名插槽命名插槽prop
默认插槽default-
预览插槽previewIconitem
删除插槽deleteIconindex, item, fileList
加载状态插槽progressitem
成功状态插槽successIconitem
失败状态插槽errorIconitem
拖拽样式插槽dragIcon-

example demo

使用

 <draggableUpload
      :limit="4"
      draggable
      multiple="multiple"
      accept=".jpg,.jpeg,.png"
      :fileList="fileList"
      @fileChange="handleFileChange"
      @removeImg="handleRemoveImg"
      @imgPreview="handleImgPreview"
    >
      <i class="iconfont add-icon icon-jiahao"></i>
    </draggableUpload>
import draggableUpload from "draggable_upload";
interface FileItem {
  status: "loading" | "success" | "error";
  url: string;
  [propName: string]: unknown;
}
interface File {
  name: string;
  type: string;
  [propName: string]: unknown;
}
//....
  setup() {
    const fileList = reactive([
      {
        status: "success",
        url: mockUrl,
      },
    ]);
    const handleFileChange = (file: File, fileList: FileItem[]) => {
      console.log("file fileList is", file, fileList);
      let index = fileList.length;
      fileList.push({
        url: "",
        status: "loading",
      });
      setTimeout(() => {
        if (index % 2 == 0) {
          fileList[index].url = "";
          fileList[index].status = "error";
        } else {
          fileList[index].url = mockUrl + Math.random();
          fileList[index].status = "success";
        }
      }, 1000);
    };
    const handleRemoveImg = (
      index: number,
      item: FileItem,
      fileList: FileItem[]
    ) => {
      fileList.splice(index, 1);
    };
    const handleImgPreview = (item: FileItem) => {
      console.log("preview", item.url);
    };
    return {
      fileList,
      handleFileChange,
      handleRemoveImg,
      handleImgPreview,
    };
  }

FAQs

Package last updated on 26 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts