欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue中關于element的el-image 圖片預覽功能增加一個下載按鈕(操作方法)

 更新時間:2023年04月14日 14:43:47   作者:大可-  
這篇文章主要介紹了vue中關于element的el-image 圖片預覽功能增加一個下載按鈕,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

項目場景:

工作中我們常用會到 vue+element,其中預覽組件難免會涉及到下載功能,或者其它擴展功能,但是el-image 支持的只是 簡單放大旋轉功能,解決方法 要么 修改組件,要么 通過 js動態(tài)渲染進去,接下來看操作。

 效果圖如下:

一、安裝element-ui

1. 安裝element-ui

在項目終端輸入以下代碼完成element-ui的安裝

npm i element-ui -S

 2. 檢查是否安裝成功

查看配置文件package.json,是否有element-ui組件的版本號

3. 引用element-ui組件

在main.js文件中輸入以下代碼,引入element

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
 
Vue.use(ElementUI)

二、改造步驟

修改代碼:

通過點擊放大時,添加點擊事件,然后通過append 添加 按鈕并且綁定事件,還是看下圖吧,兄弟們,粘起來。

<template>
<div style="margin-top: 2vh">
         <waterfall
             @loadmore="loadmore"
             :col=4
             :lazy-distance="300"
             :load-distance="300"
             :data="xx">
           <div class="cell-item zxzx demo-image__preview "  v-for="(item,index) in xx" :key="index" @click="checkImage" style="padding: 0 1vw;">
             <el-image
                 style="width: 100%; margin-top: 2vh"
                 :src="item.img1"
                 :preview-src-list="[item.img]">
             </el-image>
             <p style="background-color: rgba(0,0,0,0.1); color: #fff; text-align: center;  margin-top: -6px;">{{item.createTime}}</p>
           </div>
         </waterfall>
       </div>
</template>
 
<script>
 mounted() {
window.cl = this.cl
},
methods: {
cl() {
      let srcUrl=document.querySelector('.el-image-viewer__img').src;
      this.downloadIamge(srcUrl,srcUrl)
    },
 checkImage(){//這個事件要綁定el-image父級盒子上
      console.log('點擊事件');
      let a=document.querySelector('.el-image-viewer__actions__inner');
      // $(a).append(`<i class="el-icon-download" onclick="installImage()"></i>`)
      // a.append( `<i class="el-icon-download" onclick="cl()"></i>`)
      console.log(a)
      let ff = document.createElement('i')
      ff.innerHTML = `<i class="el-icon-download" onclick="cl()"></i>`
      a.appendChild(ff)
    },
    downloadIamge(imgsrc, name) {//下載圖片地址和圖片名
      let image = new Image();
      // 解決跨域 Canvas 污染問題
      image.setAttribute("crossOrigin", "anonymous");
      image.onload = function() {
        let canvas = document.createElement("canvas");
        canvas.width = image.width;
        canvas.height = image.height;
        let context = canvas.getContext("2d");
        context.drawImage(image, 0, 0, image.width, image.height);
        let url = canvas.toDataURL("image/png"); //得到圖片的base64編碼數(shù)據(jù)
        let a = document.createElement("a"); // 生成一個a元素
        let event = new MouseEvent("click"); // 創(chuàng)建一個單擊事件
        a.download = name || "photo"; // 設置圖片名稱
        a.href = url; // 將生成的URL設置為a.href屬性
        a.dispatchEvent(event); // 觸發(fā)a的單擊事件
      };
      image.src = imgsrc;
    },
}
</script>

最總效果

到此這篇關于vue中關于element的el-image 圖片預覽功能增加一個下載按鈕的文章就介紹到這了,更多相關vue element圖片預覽內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue3封裝el-pagination分頁組件的完整代碼

    vue3封裝el-pagination分頁組件的完整代碼

    這篇文章主要介紹了vue3封裝el-pagination分頁組件的完整代碼,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • Element-UI Table組件上添加列拖拽效果實現(xiàn)方法

    Element-UI Table組件上添加列拖拽效果實現(xiàn)方法

    這篇文章主要為大家詳細介紹了Element-UI Table組件上添加列拖拽效果的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • vue的toast彈窗組件實例詳解

    vue的toast彈窗組件實例詳解

    本文通過實例給大家講解了vue的toast彈窗組件功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • Vue?element樹形控件添加虛線詳解

    Vue?element樹形控件添加虛線詳解

    這篇文章主要為大家介紹了Vue?element樹形控件添加虛線,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>
    2021-11-11
  • vue?beforeDestroy?clearInterval清除定時器失效的解決

    vue?beforeDestroy?clearInterval清除定時器失效的解決

    這篇文章主要介紹了vue?beforeDestroy?clearInterval清除定時器失效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Vue?+?element-ui?背景圖片設置方式

    Vue?+?element-ui?背景圖片設置方式

    這篇文章主要介紹了Vue?+?element-ui?背景圖片設置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue組件實現(xiàn)可搜索下拉框擴展

    vue組件實現(xiàn)可搜索下拉框擴展

    這篇文章主要為大家詳細介紹了vue組件實現(xiàn)可搜索下拉框的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • ElementUI中<el-form>標簽中ref、:model、:rules的作用淺析

    ElementUI中<el-form>標簽中ref、:model、:rules的作用淺析

    Element官方文檔中寫到,model是表單數(shù)據(jù)對象,rules是表單驗證規(guī)則,下面這篇文章主要給大家介紹了關于ElementUI中<el-form>標簽中ref、:model、:rules作用的相關資料,需要的朋友可以參考下
    2023-01-01
  • Vue項目中使用fontawesome圖標庫的方法

    Vue項目中使用fontawesome圖標庫的方法

    fontawesome的圖標有免費版和專業(yè)版,本文主要使用free版本,一般free版本的圖標夠用,free圖標又劃分為三個圖標庫,主要有實心圖標solid、常規(guī)圖標regular及品牌圖標brand,根據(jù)需求去下載對應的圖標庫,無須全部下載,對vue?fontawesome圖標庫相關知識感興趣的朋友一起看看吧
    2023-12-12
  • VUE v-for循環(huán)中每個item節(jié)點動態(tài)綁定不同函數(shù)的實例

    VUE v-for循環(huán)中每個item節(jié)點動態(tài)綁定不同函數(shù)的實例

    今天小編就為大家分享一篇VUE v-for循環(huán)中每個item節(jié)點動態(tài)綁定不同函數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09

最新評論