一种允许用户在选中和未选中之间切换的控件。
import * as React from "react";import { Checkbox } from "radix-ui";import { CheckIcon } from "@radix-ui/react-icons";import "./styles.css";const CheckboxDemo = () => (<form><div style={{ display: "flex", alignItems: "center" }}><Checkbox.Root className="CheckboxRoot" defaultChecked id="c1"><Checkbox.Indicator className="CheckboxIndicator"><CheckIcon /></Checkbox.Indicator></Checkbox.Root><label className="Label" htmlFor="c1">Accept terms and conditions.</label></div></form>);export default CheckboxDemo;
支持不确定状态。
完全的键盘导航。
可以是受控或非受控的。
导入所有部分并将它们组合在一起。
包含复选框的所有部分。当在 form 中使用时,将渲染一个 input 以确保事件正确传播。
在复选框处于选中或不确定状态时渲染。您可以直接为此元素设置样式,或者可以将其作为包装器放入图标,或者两者都可以。
您可以通过控制其状态将复选框设置为 indeterminate。
默认情况下,Checkbox.Root 会渲染一个视觉上隐藏的 input,用于表单提交。要重新组合、移动或排除该输入,您可以改用其较低层级的部分来构建复选框。
重要: 这些部分尚不稳定,并以
unstable_为前缀,因此其 API 可能会在未来版本中发生变化。
Checkbox.unstable_Provider 提供复选框状态,并接受与表单相关的属性(name、value、checked、defaultChecked、required、disabled、onCheckedChange)。Checkbox.unstable_Trigger 是包裹 Checkbox.Indicator 的交互式按钮。Checkbox.unstable_BubbleInput 是 Checkbox.Root 默认渲染的视觉上隐藏的输入。不需要表单提交时,可以省略它。