文档目录
复选框
原版 20×20 checkbox / checkbox_selected 精灵复选框。
import { useState } from "react";
import { Checkbox } from "./index";
/**
* Checkbox 预览用例:设置项列表
*/
export function CheckboxDemo() {
const [checked, setChecked] = useState(true);
return (
<div className="flex flex-col gap-8">
<label className="flex items-center gap-4">
<Checkbox
checked={checked}
onCheckedChange={(next) => {
setChecked(next === true);
}}
/>
<span className="font-mc mc-text">
显示云:
{checked ? "开" : "关"}
</span>
</label>
<label className="flex items-center gap-4">
<Checkbox defaultChecked={false} />
<span className="font-mc mc-text">平滑光照</span>
</label>
<label className="flex items-center gap-4">
<Checkbox disabled />
<span className="font-mc mc-text text-mc-text-dim">全屏(禁用)</span>
</label>
</div>
);
}
安装
CLI 拷贝
$npx shadcn add @tennantite/checkboxnpm 直装
$pnpm add @tennantite/uinpm 方式安装编译产物;需要改造源码请用上方的 CLI 拷贝安装。
用法
npm 导入
import { Checkbox } from "@tennantite/ui";CLI 拷贝导入
import { Checkbox } from "@/components/tennantite/checkbox";import { useState } from "react";
import { Checkbox } from "./index";
/**
* Checkbox 预览用例:设置项列表
*/
export function CheckboxDemo() {
const [checked, setChecked] = useState(true);
return (
<div className="flex flex-col gap-8">
<label className="flex items-center gap-4">
<Checkbox
checked={checked}
onCheckedChange={(next) => {
setChecked(next === true);
}}
/>
<span className="font-mc mc-text">
显示云:
{checked ? "开" : "关"}
</span>
</label>
<label className="flex items-center gap-4">
<Checkbox defaultChecked={false} />
<span className="font-mc mc-text">平滑光照</span>
</label>
<label className="flex items-center gap-4">
<Checkbox disabled />
<span className="font-mc mc-text text-mc-text-dim">全屏(禁用)</span>
</label>
</div>
);
}API Reference
无公开 props。
源码
packages/ui/src/primitives/checkbox/index.tsxnpm 包保留源码目录,可直接复制改造。