Components

切换

¥Switch

允许用户在选中和未选中之间切换的控件。

import * as React from "react";
import { Switch } from "radix-ui";
import "./styles.css";
const SwitchDemo = () => (
<form>
<div style={{ display: "flex", alignItems: "center" }}>
<label className="Label" htmlFor="airplane-mode" style={{ paddingRight: 15 }} >
Airplane mode
</label>
<Switch.Root className="SwitchRoot" id="airplane-mode">
<Switch.Thumb className="SwitchThumb" />
</Switch.Root>
</div>
</form>
);
export default SwitchDemo;

Features

    Full keyboard navigation.

    Can be controlled or uncontrolled.

安装

¥Installation

从命令行安装组件。

¥Install the component from your command line.

npm install @radix-ui/react-switch

结构

¥Anatomy

导入所有部分并将它们组合在一起。

¥Import all parts and piece them together.

import { Switch } from "radix-ui";
export default () => (
<Switch.Root>
<Switch.Thumb />
</Switch.Root>
);

API 参考

¥API Reference

¥Root

包含开关的所有部分。inputform 中使用时也会渲染,以确保事件正确传播。

¥Contains all the parts of a switch. An input will also render when used within a form to ensure events propagate correctly.

PropTypeDefault
asChild
boolean
false
defaultChecked
boolean
No default value
checked
boolean
No default value
onCheckedChange
function
No default value
disabled
boolean
No default value
required
boolean
No default value
name
string
No default value
value
string
on
Data attributeValues
[data-state]"checked" | "unchecked"
[data-disabled]

Present when disabled

缩略图

¥Thumb

用于直观指示开关开启或关闭状态的滑块。

¥The thumb that is used to visually indicate whether the switch is on or off.

PropTypeDefault
asChild
boolean
false
Data attributeValues
[data-state]"checked" | "unchecked"
[data-disabled]

Present when disabled

可访问性

¥Accessibility

遵循 switch 角色要求

¥Adheres to the switch role requirements.

键盘交互

¥Keyboard Interactions

KeyDescription
Space
Toggles the component's state.
Enter
Toggles the component's state.
Previous滑块
Next标签