@g9tm/lynxcontrols-barcode

中文文档
1.7.3发布于 2026/11/16MITTypeScriptES Module近 30 天下载 2062

G9BarcodeTextEntry:一个有扫描仪意识的文本字段. 扫描仪由消费者提供(不依赖相机).

中文使用文档

@g9tm/lynxcontrols-条码

G9BarcodeTextEntry: 有扫描仪的文本字段( MAUI) G9MAUIControls.Barcode) (中文(简体) ). 摄像头从来不是这个包裹的: 控件 onScanRequested 并自行驱动扫描仪,或提供 services.scanner 和田地驱动它。 取决于 @g9tm/lynxcontrols-foundation 财务报告和审定财务报表 @g9tm/lynxcontrols 只导入; 导入 @g9tm/lynxcontrols 从来没有拉它进来。 移徙表: docs/migration/Barcode.Controls.md。 。 。 .

import { G9BarcodeTextEntry, type G9BarcodeTextEntryHandle } from '@g9tm/lynxcontrols-barcode';

// A: you own the camera (MAUI ScanRequested)
const field = useRef<G9BarcodeTextEntryHandle | null>(null);
<G9BarcodeTextEntry
  ref={field}
  label="Sample code"
  acceptedCodeRegex="^\\d{3}/\\d{3}/\\d{6}$"
  onScanRequested={async () => {
    field.current?.startScan();
    try {
      field.current?.acceptScannedCode(await myScanner.scanOnce());
    } finally {
      field.current?.stopScan();
    }
  }}
  onAccepted={(code) => model.add(code)}
/>

// B: services.scanner ({ isAvailable, scan }) does it: a tap scans; 'multiple' stays armed until cancelled
<G9BarcodeTextEntry label="Scanned items" scanMode="multiple" isEditable scanFormats={['code128']} />

行为

  • 国家 idle → scanBusy (spinner,只读, scanBusyText (作为占位符) accepted (成功大纲, (a) 或 error (错误大纲,一. 状态被你自己分层 hasError, (中文(简体) ), readOnly, (中文(简体) ), useStatusColor, (中文(简体) ), statusColor, (中文(简体) ), placeholder 财务报告和审定财务报表 trailingIcon当国家不再需要他们的时候 他们就会回来 键入后 a 结果返回字段 idle。 。 。 . scanState 是可控的.
  • 接受这个建议. acceptedCodeRegex 使用图案字符串, a RegExp 或一个函数。 变形图案或 丢弃函数拒绝代码, 而不是扔入扫描流 。 拒绝超过4096个字符的代码 在任何图案运行前(MAUI用一个250ms regex 超时,JavaScript无法做到)将匹配绑定. 'single' 替换文本; 'multiple' 附录 ", code"。 。 。 . onAccepted 永远不要对输入的文本起火.
  • 扫描仪服务. 无 onScanRequested,扫描图标仅在 services.scanner.isAvailable() 解决了真理。 扫描显示中止信号 : stopScan() 并解除它,而忽略后果; cancelled 返回到 idle, (中文(简体) ), denied 失败变成 error (不及格也入于诊断.
  • 布局图. 扫描图标被固定在物理右侧,文本被固定在RTL页(条码为 左到右符号字符串; 标签和大纲遵循页面方向.

真正的扫描仪集成是设备检查( S)plan/execution/Native-Validation-Pending.md N-045 (英语).

版本与发布记录

@g9tm/lynxcontrols-barcode 共发布 15 个版本,首次发布于 2026/10/07;过去 12 个月发布了 15 个版本。

版本发布日期距今
1.7.3latest2026/11/16今天
1.7.22026/11/132 天前
1.7.12026/11/133 天前
1.7.02026/11/133 天前
1.6.12026/11/123 天前
1.6.02026/11/123 天前

关于 @g9tm/lynxcontrols-barcode 的常见问题

@g9tm/lynxcontrols-barcode 是什么?

G9BarcodeTextEntry:一个有扫描仪意识的文本字段. 扫描仪由消费者提供(不依赖相机).

如何安装 @g9tm/lynxcontrols-barcode?

在项目目录运行 npm install @g9tm/lynxcontrols-barcode,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@lynx-js/react(>=0.129.1 <0.130.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@g9tm/lynxcontrols-barcode 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@g9tm/lynxcontrols-barcode 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@g9tm/lynxcontrols-barcode 可以商用吗?

@g9tm/lynxcontrols-barcode 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@g9tm/lynxcontrols-barcode 的下载量有多少?

根据 npm 官方下载统计,@g9tm/lynxcontrols-barcode 在 2026/10/16 – 2026/11/14 这 30 天内被下载 2,062 次,日均约 69 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@g9tm/lynxcontrols-barcode 还在维护吗?

最新版本 1.7.3 发布于 2026/11/16(今天);至今共发布 15 个版本,其中过去 12 个月发布了 15 个;首次发布于 2026/10/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。