亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用生成條形碼并打印和vue-print-nb以及報錯問題的解決

 更新時間:2025年07月27日 15:00:00   作者:胡亂更法  
在TypeScript項目中,正確安裝vue3-print-nb并配置env.d.ts聲明模塊,添加tsconfig.json的include路徑,確保全局掛載以實現條形碼和批量打印功能

生成條形碼并打印和vue-print-nb以及報錯

借鑒網上大多數vue-print-nb安裝打印,發(fā)現在自己的項目(ts語法下)中會發(fā)現模塊引入錯誤

所以換成    

npm install vue3-print-nb  //重新安裝

vue-print-nb在自己的項目中無法使用,故此更換

引入后需要在根目錄下的env.d.ts中引入

declare module 'vue3-print-nb' {
   const install: (app: App) => void
   const print: (options?: PrintOptions) => void
   export default { install, print }
  }

引入后需要在tsconfig.json文件里的include中添加env.d.ts的路徑

也可以在ts項目下的默認下的types下的文件中引入也可以,或者全局搜索   declare module,在添加,這在樣mian.ts下引入   import print from 'vue3-print-nb'  不會報類型報錯,在進行全局掛載

使用條形碼多批量打印

 <div class="preview-area" id="printTest">
            <div v-for="(item, index) in data" :key="index">
                <svg :ref="el => setBarcodeRef(el, index)"></svg>
                <p style="page-break-after: always"></p>
            </div>
        </div>
      <el-button v-print="printObj" ref="printBtn" style="display: none;"></el-button>
</div>


const data = ref([])
const barcodeRefs = ref([])
const printBtn = ref(null)

const printObj = reactive({
    id: 'printTest',
    beforeOpenCallback(vue) {
        vue.printLoading = true
    },
    openCallback(vue) {
        vue.printLoading = false
    },
    closeCallback(vue) {
        console.log('關閉了打印工具')
    }
})
//獲取每一個對應的svg
const setBarcodeRef = (el, index) => {
    barcodeRefs.value[index] = el
}
//list為數據源    調用showPrint進行數據調用
const showPrint = async (list) => {
    data.value = list
    await nextTick()
    await generateBarcode(list)
    // 生成完成后自動觸發(fā)打印
    await nextTick()
    printBtn.value.$el.click()
}

const generateBarcode = async (list) => {
    try {
        list.forEach((item, index) => {
            if(barcodeRefs.value[index]) {
                JsBarcode(barcodeRefs.value[index], item.LocationCode, {
                    format: "CODE128",
                    lineColor: "#000",
                    width: 2,
                    height: 60,
                    displayValue: true,
                    fontSize: 16,
                    margin: 10
                });
            }
        })
    } catch (error) {
        console.error('生成條形碼失敗:', error);
    }
};

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 用了babel還需要polyfill嗎原理解析

    用了babel還需要polyfill嗎原理解析

    這篇文章主要為大家介紹了用了babel是否還需要polyfill的原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Vue之Dep和Observer的用法及說明

    Vue之Dep和Observer的用法及說明

    這篇文章主要介紹了Vue之Dep和Observer的用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 關于vue-router路徑計算問題

    關于vue-router路徑計算問題

    這篇文章主要介紹了關于vue-router路徑計算問題,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • vite 項目中如何使用Sass

    vite 項目中如何使用Sass

    Vite默認集成了對Sass的支持,你只需要安裝Sass本身即可,這篇文章主要介紹了vite 項目中如何使用Sass,需要的朋友可以參考下
    2024-04-04
  • 詳解如何編寫一個Vue3響應式系統(tǒng)

    詳解如何編寫一個Vue3響應式系統(tǒng)

    這篇文章主要為大家學習介紹了如何編寫一個Vue3響應式系統(tǒng),文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解一下
    2023-07-07
  • vue 強制組件重新渲染(重置)的兩種方案

    vue 強制組件重新渲染(重置)的兩種方案

    今天小編就為大家分享一篇vue 強制組件重新渲染(重置)的兩種方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • Vue中定義全局變量與常量的各種方式詳解

    Vue中定義全局變量與常量的各種方式詳解

    Vue.js 如何添加全局常量或變量? 這是最近一個同事問的問題,發(fā)現很多朋友對這塊不熟悉,所以下面這篇文章主要給大家介紹了關于Vue中定義全局變量與常量的各種方式,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • vue踩坑日記之params傳遞參數問題

    vue踩坑日記之params傳遞參數問題

    這篇文章主要介紹了vue踩坑日記之params傳遞參數問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Vue使用video.js的代碼詳解

    Vue使用video.js的代碼詳解

    這篇文章主要介紹了Vue使用video.js的代碼詳解,包括在vue腳手架中引入video.js,實例化了視頻.js播放器,并在上銷毀了它,結合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • vue高德地圖繪制行政區(qū)邊界功能

    vue高德地圖繪制行政區(qū)邊界功能

    這篇文章主要介紹了vue高德地圖繪制行政區(qū)邊界功能,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2024-03-03

最新評論