Components

文本字段

捕捉用户输入,并可选配按钮和图标的插槽。

<TextField.Root placeholder="搜索文档…">
<TextField.Slot>
<MagnifyingGlassIcon height="16" width="16" />
</TextField.Slot>
</TextField.Root>

API 参考

根组件

将插槽和输入部分分组。该组件基于 div 元素,并支持 常见的边距属性

PropTypeDefault
size
Responsive<"1" | "2" | "3">
"2"
variant
"classic" | "surface" | "soft"
"surface"
color
enum
No default value
radius
"none" | "small" | "medium" | "large" | "full"
No default value

插槽

包含与输入相关的图标或按钮。

PropTypeDefault
side
"left" | "right"
No default value
color
enum
No default value
gap
Responsive<enum | string>
No default value
px
Responsive<enum | string>
No default value
pl
Responsive<enum | string>
No default value
pr
Responsive<enum | string>
No default value

示例

尺寸

使用 size 属性来控制大小。

<Flex direction="column" gap="3">
<Box maxWidth="200px">
<TextField.Root size="1" placeholder="搜索文档…" />
</Box>
<Box maxWidth="250px">
<TextField.Root size="2" placeholder="搜索文档…" />
</Box>
<Box maxWidth="300px">
<TextField.Root size="3" placeholder="搜索文档…" />
</Box>
</Flex>

在组合文本字段和按钮时,使用匹配的组件尺寸。然而,不要使用尺寸为 1 的输入框与按钮—在这个尺寸下,没有足够的垂直空间来嵌套其他交互元素。

<Flex direction="column" gap="3" maxWidth="400px">
<Box maxWidth="200px">
<TextField.Root placeholder="搜索文档…" size="1">
<TextField.Slot>
<MagnifyingGlassIcon height="16" width="16" />
</TextField.Slot>
</TextField.Root>
</Box>
<Box maxWidth="250px">
<TextField.Root placeholder="搜索文档…" size="2">
<TextField.Slot>
<MagnifyingGlassIcon height="16" width="16" />
</TextField.Slot>
<TextField.Slot>
<IconButton size="1" variant="ghost">
<DotsHorizontalIcon height="14" width="14" />
</IconButton>
</TextField.Slot>
</TextField.Root>
</Box>
<Box maxWidth="300px">
<TextField.Root placeholder="搜索文档…" size="3">
<TextField.Slot>
<MagnifyingGlassIcon height="16" width="16" />
</TextField.Slot>
<TextField.Slot pr="3">
<IconButton size="2" variant="ghost">
<DotsHorizontalIcon height="16" width="16" />
</IconButton>
</TextField.Slot>
</TextField.Root>
</Box>
</Flex>

变体

使用 variant 属性来控制视觉风格。

<Flex direction="column" gap="3" maxWidth="250px">
<TextField.Root variant="surface" placeholder="搜索文档…" />
<TextField.Root variant="classic" placeholder="搜索文档…" />
<TextField.Root variant="soft" placeholder="搜索文档…" />
</Flex>

颜色

使用 color 属性来指定特定的 颜色

<Flex direction="column" gap="3" maxWidth="250px">
<TextField.Root color="indigo" variant="soft" placeholder="搜索文档…" />
<TextField.Root color="green" variant="soft" placeholder="搜索文档…" />
<TextField.Root color="red" variant="soft" placeholder="搜索文档…" />
</Flex>

半径

使用 radius 属性来指定特定的半径值。

<Flex direction="column" gap="3" maxWidth="250px">
<TextField.Root radius="none" placeholder="搜索文档…" />
<TextField.Root radius="large" placeholder="搜索文档…" />
<TextField.Root radius="full" placeholder="搜索文档…" />
</Flex>