组件 · 数据展示

QrCode 二维码

将文本/URL 渲染为二维码。

入口 @selrux/ui/qr-code · 源码 src/components/qr-code/index.ts · 1 个组件 · 发布状态 preview

使用建议

  • 避免:杜撰纠错级别枚举
  • 限制:属性与导出以 @selrux/ui 对应子路径 d.ts/源码为准,禁止臆造

引入

tsx
import { QrCode } from '@selrux/ui/qr-code';

演练场

调节下方可实现的字面量属性,实时预览真实组件。函数、Portal、样式逃生口等见代码演示与 API 表。

代码演示

基础用法

value 为编码内容。

颜色、容错与形态

color / bgColor,errorLevel 容错等级,type 为 canvas / svg。

状态

status 为 loading / expired / scanned,expired 时可通过 onRefresh 刷新。

加载中

二维码已过期

已扫描

图标与留白

icon 在中心放置标识,iconSize 设定尺寸;marginSize 设定静区;bgColor 背景色。

自定义状态

statusRender 自定义过期 / 加载遮罩;statusLocale 覆盖内置文案。

登录码已过期

生成中…

API

属性覆盖:示例用到 13 / 13 个自有属性(100%)

由 scripts/demo-coverage.mjs 统计,不含 className / style / 原生透传属性与纯转发事件。

QrCode

主题化二维码;按明暗域提供默认前景色。

属性说明类型默认值
value *扫描后文本;空字符串时不渲染。string-
bordered是否显示描边容器;默认 true。booleantrue
type渲染类型;默认 canvas。"canvas" | "svg"canvas
size边长像素;非法回退 160。number-
color前景模块色;默认 #000。string-
bgColor背景色;默认 transparent。stringtransparent
errorLevel纠错等级;默认 M。"L" | "M" | "Q" | "H"M
icon中心图 URL。string-
iconSize中心图边长像素;非法回退 40。number-
marginSize安静区模块数;非法回退 0。number-
status业务状态;默认 active。"loading" | "active" | "expired" | "scanned"active
onRefresh过期刷新。(() => void)-
statusRender自定义状态遮罩;省略时由 UI 提供默认节点。((info: QrCodeStatusRenderInfo) => ReactNode)-
statusLocale状态文案覆盖;省略时由组件按语言回退。Partial<QrCodeStatusLocale>-

另有 278 项原生属性与事件继承自 HTMLAttributes,原样透传。

导出类型:QrCodeErrorLevel、QrCodeProps、QrCodeStatus、QrCodeStatusLocale、QrCodeStatusRenderInfo、QrCodeType