vue2.0 使用element-ui裏的upload組件實現圖片預覽效果

1.首先我們在cli中引入element-ui 

2.然後在具體的代碼中放入uoload組件

<el-upload class="upload-demo" action="" :auto-upload='false' :on-change='changeUpload'>
       <el-button size="small" type="primary">點擊上傳</el-button>
       <div slot="tip" class="el-upload__tip">只能上傳jpg/png文件,且不超過500kb</div>
</el-upload>    

3.使用element-ui的upload組件中提供的接口:on-change回調函數,然後在回調函數中寫入如下代碼:

changeUpload: function(file, fileList) {
        this.fileList = fileList;
        this.$nextTick(
          () => {
            let upload_list_li = document.getElementsByClassName('el-upload-list')[0].children;
            for (let i = 0; i < upload_list_li.length; i++) {
              let li_a = upload_list_li[i];
              let imgElement = document.createElement("img");
              imgElement.setAttribute('src', fileList[i].url);
              imgElement.setAttribute('style', "max-width:50%;padding-left:25%");
              if (li_a.lastElementChild.nodeName !== 'IMG') {  
                li_a.appendChild(imgElement);
              }  
            }
          });
      }


這個代碼的主要意思就是:當這個回調函數執行,我們就獲取到組件自添加的元素el-upload-list的子元素,然後遍歷子元素,給組件自添加的元素自添加的元素el-upload-list的子元素a添加我們自己使用JS創建的一個imgElement,這樣我們就可以看到我們的圖片顯示在組件的下方了,雖然有點醜,但是沒關係,我們爲imgElement添加上css樣式不就行了嗎?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章