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

vue實(shí)現(xiàn)批量下載文件

 更新時(shí)間:2023年12月11日 08:19:51   作者:碼字哥  
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)批量下載文件的方法(不走后端接口的方法),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

今天ld提了一個(gè)需求,說頁面的列表里面有要下載的地址,然后點(diǎn)擊批量下載。我思索片刻,給出了代碼

1.這個(gè)是列表頁面的代碼

<!-- 這個(gè)是列表頁面的代碼 -->
<el-table :data="userListShow" align="center"
           border highlight-current-row size="small" 
           style="width: 100%"
           stripe
            ref="table">
            <el-table-column 
              label="選擇"
              width="45px"
              fixed
            >
              <template slot-scope="scope" > 
                <el-checkbox class="biaodiandian"  v-model="scope.row.selected" :label="scope.row" @change="clickChange(scope.row)"><i></i></el-checkbox>
              </template>
            </el-table-column>
            <el-table-column prop="barcode"  width="200px"  show-overflow-tooltip align="center" label="條碼號(hào)"></el-table-column>
            <el-table-column prop="createTime"  width="200px" show-overflow-tooltip align="center" label="登記時(shí)間"></el-table-column>
</el-table>

2.這個(gè)是選擇框的代碼

data(){
    return(){
       selectedRows:[],  //這個(gè)是傳遞的復(fù)選框的值,因?yàn)槭桥窟x擇嗎,所以給的是數(shù)組
    }
}   
 
 
 methods:{
 
     //選擇文件 選擇復(fù)選框
    clickChange(row) {
      if (row.selected) {
        this.selectedRows.push(row); // 選中時(shí)添加到數(shù)組中
      } else {
        const index = this.selectedRows.findIndex(item => item === row);
        if (index > -1) {
          this.selectedRows.splice(index, 1); // 取消選中時(shí)從數(shù)組中移除
        }
      }
    },
 
  
  }

3.好了,現(xiàn)在該批量下載了,之所以寫上面兩步,是因?yàn)榈米雠窟x擇的復(fù)選框,也就是得批量拿到數(shù)據(jù)

<!-- 這個(gè)是批量下載的按鈕->
<el-button type="warning" @click="handleDownload" round size="mini">下載體檢報(bào)告</el-button>

4.這個(gè)按鈕的方法

methods:{
 
 
//這個(gè)可以直接賦值過去就能用,還有你的瀏覽器得開啟允許批量下載,也就是第一次回
//觸發(fā)一個(gè)提示說,是否允許批量下載多個(gè)文件,要點(diǎn)擊允許就行了
async handleDownload() {
    //this.selectedRows 這個(gè)就是上面寫的那個(gè)批量拿到的數(shù)據(jù)
    //row.reportUrl 這個(gè)就是列表數(shù)據(jù)里面的地址路徑,
    const reportUrls = this.selectedRows.map(row => row.reportUrl);
    for (const reportUrl of reportUrls) {
      if (reportUrl) { //判斷是否存在
        const link = document.createElement('a');
        link.href = reportUrl;
        link.download = reportUrl.substring(reportUrl.lastIndexOf('/') + 1);
        link.style.display = 'none';
        document.body.appendChild(link);
        link.click();
        await new Promise((resolve) => setTimeout(resolve, 500));
        document.body.removeChild(link);
      }
    }
  },
 
} 

好了兄弟們,到這里就結(jié)束了,上面的代碼可以直接拿過就能用,不想要上面插件上面依賴的,就是vue的代碼。

到此這篇關(guān)于vue實(shí)現(xiàn)批量下載文件的文章就介紹到這了,更多相關(guān)vue下載文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue項(xiàng)目中引入外部文件的方法(css、js、less)

    Vue項(xiàng)目中引入外部文件的方法(css、js、less)

    本篇文章主要介紹了Vue項(xiàng)目中引入外部文件的方法(css、js、less),非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-07-07
  • vue實(shí)現(xiàn)行列轉(zhuǎn)換的一種方法

    vue實(shí)現(xiàn)行列轉(zhuǎn)換的一種方法

    這篇文章主要介紹了vue實(shí)現(xiàn)行列轉(zhuǎn)換的一種方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • vue el-checkbox實(shí)現(xiàn)全選單選方式

    vue el-checkbox實(shí)現(xiàn)全選單選方式

    這篇文章主要介紹了vue el-checkbox實(shí)現(xiàn)全選單選方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue項(xiàng)目路由刷新的實(shí)現(xiàn)代碼

    Vue項(xiàng)目路由刷新的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Vue項(xiàng)目路由刷新的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-04-04
  • 一篇文章搞懂Vue3中如何使用ref獲取元素節(jié)點(diǎn)

    一篇文章搞懂Vue3中如何使用ref獲取元素節(jié)點(diǎn)

    過去在Vue2中,我們采用ref來獲取標(biāo)簽的信息,用以替代傳統(tǒng) js 中的 DOM 行為,下面這篇文章主要給大家介紹了關(guān)于如何通過一篇文章搞懂Vue3中如何使用ref獲取元素節(jié)點(diǎn)的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • vue中this.$refs的坑及解決

    vue中this.$refs的坑及解決

    這篇文章主要介紹了vue中this.$refs的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue中 v-for循環(huán)的用法詳解

    vue中 v-for循環(huán)的用法詳解

    這篇文章主要介紹了vue中 v-for循環(huán)的用法詳解,本文通過實(shí)例代碼的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 運(yùn)行npm?run?dev報(bào)錯(cuò)的原因及解決

    運(yùn)行npm?run?dev報(bào)錯(cuò)的原因及解決

    剛剛創(chuàng)建好vue項(xiàng)目的時(shí)候,運(yùn)行 npm run dev 會(huì)報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于運(yùn)行npm?run?dev報(bào)錯(cuò)的原因及解決方法,需要的朋友可以參考下
    2022-10-10
  • 解決vue js IOS H5focus無法自動(dòng)彈出鍵盤的問題

    解決vue js IOS H5focus無法自動(dòng)彈出鍵盤的問題

    今天小編就為大家分享一篇解決vue js IOS H5focus無法自動(dòng)彈出鍵盤的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue 動(dòng)態(tài)給每個(gè)頁面添加title、關(guān)鍵詞和描述的方法

    vue 動(dòng)態(tài)給每個(gè)頁面添加title、關(guān)鍵詞和描述的方法

    這篇文章主要介紹了vue 動(dòng)態(tài)給每個(gè)頁面添加title、關(guān)鍵詞和描述的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08

最新評(píng)論