ここでは、Lightning Webコンポーネントを使ってバーコードの読み取るアプリケーションを作る方法について説明します。作成したバーコードの読み取り画面は、Salesforceモバイルアプリケーションから表示して使用します。このアプリケーションをブラウザーから表示した場合は、読み取りボタンが無効となり、ユーザーは操作できません。
ここではユーザーが「読み取り開始」ボタンをタップしてから1個のバーコードを読み取る方法を説明します。複数のバーコードがあるとき、ユーザーはバーコードの個数と同じ回数だけ「読み取り開始」ボタンをタップします。
1回の操作で複数のバーコードを連続して読み取るには、WebServiceを使った連続読み取り機能の開発を参照してください。
このページでの手順は、Salesforce CLIやVisual Studio CodeなどLightning Webコンポーネントの開発環境が整っており、組織を操作するSalesforce DXプロジェクトでLightning WebコンポーネントやApexクラスなどを作成およびデプロイすることを前提としています。
myFirstBarcodeScannerLwc.html
<template>
<h1>読み取りを実行する</h1>
<div slot="actions">
<gcbc-gc-barcode-scanner-lwc data-id="single-scan-button" button-text="読み取り"
onscancomplete={onSingleScanComplete}>
</gcbc-gc-barcode-scanner-lwc>
</div>
<lightning-formatted-text value={singleScanResultOutput}></lightning-formatted-text>
</template>
myFirstBarcodeScannerLwc.js
import { LightningElement, track } from 'lwc';
export default class MyFirstBarcodeScannerLwc extends LightningElement {
@track singleScanResultOutput;
onSingleScanComplete(event) {
const data = event.detail;
if (data && data.success) {
const results = data.scanResults;
this.singleScanResultOutput = decodeURIComponent(results);
} else {
alert("読み取りはできませんでした。");
}
}
}
myFirstBarcodeScannerLwc.js-meta
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>55.0</apiVersion>
<isExposed>true</isExposed>
<targets>
<target>lightning__Tab</target>
</targets>
</LightningComponentBundle>
次に、作成したLightning Webコンポーネントをタブに設定します。
動作を確認します。次の手順で、このページに表示されているQRコードを読み取れるか確認してください。
gcbc-gc-barcode-scanner-lwcタグに属性を追加することで、gcbc-gc-barcode-scanner-lwcコンポーネントを構成できます。各属性の説明はリファレンスのgcbc-gc-barcode-scanner-lwcコンポーネントの属性を参照してください。
より実践的なRayBarcodeの使い方はサンプルパッケージを参照してください。