条形码生成

条形码生成

条形码内容仅支持数字或字母,不支持中文或特殊符号。

使用场景​本例介绍如何在宜搭中生成条形码。

实现功能​创建自定义页面​

didMount 加载 jsbarcode​// 当页面渲染完毕后马上调用下面的函数,这个函数是在当前页面 - 设置 - 生命周期 - 页面加载完成时中被关联的。export function didMount() { console.log(`「页面 JS」:当前页面地址 ${location.href}`); // console.log(`「页面 JS」:当前页面 id 参数为 ${this.state.urlParams.id}`); // 更多 this 相关 API 请参考:https://www.yuque.com/yida/support/ocmxyv#OCEXd // document.title = window.loginUser.userName + ' | 宜搭'; this.utils.loadScript('https://g.alicdn.com/code/lib/jsbarcode/3.11.5/JsBarcode.all.min.js');}将二维码生成函数拷贝至页面 JS 中​该函数接受条形码内容(text:String),返回生成的条形码链接。

// 生成条形码export function createBarcode(text = '') { try { if (!text) { this.utils.toast({ title: '条形码无内容', type: 'error' }); return ''; }; if (!(/^[0-9a-zA-Z]+$/).test(text)) { this.utils.toast({ title: '条形码内容仅支持数字或字母,不支持中文或特殊符号', type: 'error' }); return ''; }; if (!document.getElementById('barcodeRootDom')) { // 若没有 barcodeRootDom 则创建一个 const barcodeRoot = document.createElement('img'); barcodeRoot.setAttribute('id', 'barcodeRootDom'); barcodeRoot.style.display = 'none'; window.document.body.appendChild(barcodeRoot); }; document.getElementById('barcodeRootDom').setAttribute('src', ''); // 清空内容 const barcode = JsBarcode('#barcodeRootDom', text, { format: 'CODE128', // 条形码的格式 width: 2, // 线条宽度 height: 50, // 条码高度 lineColor: '#000', // 线条颜色 displayValue: true, // 是否显示文字 margin: 2 // 设置条形码周围的空白区域 }); const barcodeUrl = document.getElementById('barcodeRootDom').getAttribute('src'); return barcodeUrl; } catch (error) { console.error(error); this.utils.toast({ title: '条形码生成失败', type: 'error' }); }}按钮绑定事件​

实现效果​

在线试玩​

相关推荐

梦幻西游75剧情经验一览
365bet体育在线中文

梦幻西游75剧情经验一览

📅 08-03 👁️ 2892
人民的名义有多少集
beat365正规吗

人民的名义有多少集

📅 06-27 👁️ 3654
我的世界地狱城堡在哪里 地狱城堡怎么去
正规beat365旧版绿色

我的世界地狱城堡在哪里 地狱城堡怎么去

📅 07-25 👁️ 8114
李晓波(演员)_名人演员简历
正规beat365旧版绿色

李晓波(演员)_名人演员简历

📅 07-20 👁️ 4876
免费看电影软件
beat365正规吗

免费看电影软件

📅 07-12 👁️ 9525
腾讯大王卡申请全攻略:2025最新办理流程与误区避坑
365bet体育在线中文

腾讯大王卡申请全攻略:2025最新办理流程与误区避坑

📅 07-14 👁️ 8265