vux-uploader 圖片上傳組件

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

2.安裝java

npm install vux-uploader --save

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

.babelrcgit

{
  "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.使用github

// 引入組件
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>

參數說明:npm

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元素

.json

相關文章
相關標籤/搜索