Skip to content

QRCode

QRCode 用于生成二维码,支持图片模式与 Canvas 模式。

Basic

默认渲染为图片模式(canvas=false)。

Canvas

通过 canvas 切换为 Canvas 渲染模式。

Size

size 支持 numberstring(如 180px)。

Status Overlay

通过 usefuluselessElemuselessProps 可实现失效态遮罩。

Style

支持颜色、留白和纠错级别等配置。

常见场景

基础展示

用于页面主体、列表项或卡片中直接展示 QRCode 的默认形态。

状态与数据驱动

当内容来自接口或业务状态时,优先把状态转换为组件 props,再交给 QRCode 渲染。

样式组合

需要贴近业务页面时,通过 classNameclassstylesx 做局部覆盖。

Usage

tsx
import { QRCode } from "@ldkj/web-ui";

export function Example() {
  return (
    <QRCode
      value="https://ldkj.com"
      size={160}
      foregroundColor="#000000"
      backgroundColor="#ffffff"
    />
  );
}

Q & A

Q: 我是否应该启用 canvas 模式?

A: 更推荐启用 canvas 模式,因为支持高清重绘

API

QRCode

属性说明类型默认值
canvas是否使用 Canvas 模式booleanfalse
value二维码内容string-
size二维码尺寸number | string200
useful是否可用态booleantrue
uselessElem不可用态遮罩内容React.ReactNode-
uselessProps不可用态遮罩属性React.HTMLAttributes<HTMLDivElement>-
foregroundColor前景色string'#000000'
backgroundColor背景色string'#ffffff'
margin二维码留白(px)number4
errorCorrectionLevel容错等级'low' | 'medium' | 'quartile' | 'high''medium'
fullWidth是否撑满宽度boolean-
sxCSS-in-JS 样式入口(容器/图像根节点)SxProps(支持对象/数组/函数,支持伪类、选择器、媒体查询)-
unload加载中占位内容(图片模式)React.ReactNode-

QRCodeCanvas

canvas=true 时使用的底层组件,使用 canvas 渲染,支持动态高清重绘。

QRCodeSizable

默认图片渲染组件,支持 sizenumber | string 输入。

行为规则 / 优先级

  • 数据展示组件只负责渲染当前输入,不在内部请求数据。
  • classNameclass 用于追加类名;如同时传入原生 style,内联样式会按 React 规则覆盖同名 CSS。
  • 复杂内容优先通过组合能力传入,避免在组件内部硬编码业务文案。
  • QRCode 的默认值应服务于最常见场景,特殊场景通过显式 props 覆盖。

Notes

  • 注意空态、长文本、加载中和错误态,必要时配合 Skeleton、Empty 或 Alert。
  • 文档 demo 展示的是推荐组合方式;生产代码中可按业务密度调整间距和尺寸。
  • 修改组件能力时需要同步更新本页 Demo、Usage、API 与行为规则。