vux-uploader 圖片上傳組件


1.網址:https://github.com/greedying/vux-uploader

2.安裝

npm install vux-uploader --save

npm install --save-dev babel-preset-es2015

.babelrc

{
  "presets": [
    ["env", {
      "modules": false,
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "es2015",
    "stage-2"
  ],
  "plugins": ["transform-runtime"],
  "env": {
    "test": {
      "presets": ["env", "es2015", "stage-2"],
      "plugins": ["istanbul"]
    }
  }
}

3.使用

// 引入組件
import Uploader from 'vux-uploader'

// 子組件
export default {
  ...
  components: {
    ...
    Uploader,
    ...
  }
  ...
}

// 使用組件
<uploader
  :max="varmax"
  :images="images"
  :handle-click="true"
  :show-header="false"
  :readonly="true"
  :upload-url="uploadUrl"
  name="img"
  :params="params"
  size="small"
  @preview="previewMethod"
  @add-image="addImageMethod"
  @remove-image="removeImageMethod"
></uploader>

參數說明:

images
  類型: Array
  默認值: [],空數組
  含義: 圖片數組,格式為 [ { url: '/url/of/img.ong' }, ...]
  備注: 變量為數組時,數據流為雙向,在組件內部改變數組的值影響父組件

max
  類型: Number
  默認值: 1
  含義: 圖片最大張數
  備注: 圖片達到max值時,新增按鈕消失

showHeader
  類型: Boolean
  默認值: true
  含義: 是否顯示頭部
  備注: 控制整個頭部的顯示

title
  類型: String
  默認值: 圖片上傳
  含義: 頭部的標題
  備注: 不顯示則留空

showTip
  類型: Boolean
  默認值: true
  含義: 是否顯示頭部數字部分,即1/3部分
  備注: 當showHeader為false時,header整體隱藏,此時本參數無效

readonly
  類型: Boolean
  默認值: false
  含義: 是否只讀
  備注: 只讀時,新增和刪除按鈕隱藏

handleClick
  類型: Boolean
  默認值: false
  含義: 是否接管新增按鈕的點擊事件,如果是,點擊新增按鈕不再自動出現選擇圖片界面
  備注: true時,點擊新增按鈕,則$emit('add-image'),可以在此事件內進行自定義的選擇圖片等操作,此后圖片的新增、上傳、刪除都由使用者接管

autoUpload
  類型: Boolean
  默認值: true
  含義: 選擇圖片后是否自動上傳。是,則調用內部上傳接口。否,則$emit('upload-image', formData)',formData`為圖片內容,用戶可監聽事件自己上傳
  備注: handleClick為true時,無法進行圖片選擇,故此參數無效。此參數為false時,選擇圖片后,$emit('upload-image', formData)',formData`為圖片內容

uploadUrl
  類型: String
  默認值: ''
  含義: 接收上傳圖片的url
  備注: 需要返回如下格式的json字符串,否則請設置autoUpload為false自行上傳
    { 
      result: 0,
      message: "result不是0時候的錯誤信息",
      data: {
        url: "http://image.url.com/image.png"
      }
    }

name
  類型: String
  默認值: img
  含義: 默認上傳的時候,圖片使用的表單name
  備注: 無

params
  類型: Object
  默認值: null
  含義: 上傳文件時攜帶參數
  備注: 無

size
  類型: String
  默認值: normal
  含義: 尺寸類型
  備注: normal為weui默認尺寸,small為作者定義的小一些的尺寸

capture
  類型: String
  默認值: ''
  含義: input 的capture屬性
  備注: 可以設置為camera,此時點擊新增按鈕,部分機型會直接調起相機,注意,各型號手機表現不同,請謹慎使用。handleClick為true時,此屬性無效
  emit事件說明

add-image
  emit時機: 當handleClick參數為true時,點擊新增按鈕
  參數: 無
  備注: 無

remove-image
  emit時機: 當handleClick參數為true時,點擊刪除按鈕
  參數: 無
  備注: 當handleClick為false時,點擊刪除按鈕,組件內部刪除第一張圖片;否則,用戶需要監聽本事件,並進行相應刪除操作

preview
  emit時機: 點擊任意一張圖片的時候
  參數: 圖片對象,格式為 { url: 'imgUrl' }
  備注: 暫時沒有實現自動預覽功能,如果需要用戶監聽事件自行實現

upload-image
  emit時機: handleClick和autoUpload都為false`時,選擇圖片
  參數: formData,圖片內容生成的formData
  備注: 可以通過vm.$refs.input獲取圖片的input元素

.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM