apps/docs/content/docs/cn/react/releases/v3-0-0-beta-3.mdx
此版本引入了七个新组件(ButtonGroup、DateField、ErrorMessage、ScrollShadow、SearchField、TagGroup、TimeField),为表单组件添加 fullWidth 支持,为 Tabs、ButtonGroup 与 Accordion 引入 hideSeparator,包含若干样式修复,以及 ⚠️ 破坏性变更:移除 asChild prop,并更新了 AlertDialog 与 Modal 的 backdrop 变体。
<DocsImage src="https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/docs/versions/[email protected]" darkSrc="https://heroui-assets.nyc3.cdn.digitaloceanspaces.com/docs/versions/[email protected]" alt="HeroUI v3 Beta 3" href="/docs/changelog/v3-0-0-beta-3" />
升级到最新版本:
<Tabs items={["npm", "pnpm", "yarn", "bun"]}>
<Tab value="npm">
bash npm i @heroui/styles@beta @heroui/react@beta
</Tab>
<Tab value="pnpm">
bash pnpm add @heroui/styles@beta @heroui/react@beta
</Tab>
<Tab value="yarn">
bash yarn add @heroui/styles@beta @heroui/react@beta
</Tab>
<Tab value="bun">
bash bun add @heroui/styles@beta @heroui/react@beta
</Tab>
</Tabs>
本次发布引入了 7 个 新的基础组件:
<ComponentPreview name="button-group-basic" />
<ComponentPreview name="date-field-basic" />
<ComponentPreview name="error-message-basic" />
<ComponentPreview name="search-field-basic" />
<ComponentPreview name="scroll-shadow-orientation" />
<ComponentPreview name="tag-group-basic" />
<ComponentPreview name="time-field-basic" />
为表单与输入组件新增 fullWidth 支持,可以让它们撑满容器的整个宽度。这在构建一致的表单布局与响应式设计时尤其有用。
支持的组件:
为 Tabs、ButtonGroup 与 Accordion 组件新增 hideSeparator 支持,可隐藏条目之间的分隔线,呈现更简洁、更纯粹的外观。
Tabs:
<Tabs hideSeparator>
<Tabs.ListContainer>
<Tabs.List aria-label="Options">
<Tabs.Tab id="overview">Overview<Tabs.Indicator /></Tabs.Tab>
<Tabs.Tab id="analytics">Analytics<Tabs.Indicator /></Tabs.Tab>
</Tabs.List>
</Tabs.ListContainer>
</Tabs>
ButtonGroup:
<ButtonGroup hideSeparator>
<Button>First</Button>
<Button>Second</Button>
<Button>Third</Button>
</ButtonGroup>
Accordion:
<Accordion hideSeparator>
<Accordion.Item>
<Accordion.Heading>
<Accordion.Trigger>Item 1</Accordion.Trigger>
</Accordion.Heading>
<Accordion.Panel>
<Accordion.Body>Content</Accordion.Body>
</Accordion.Panel>
</Accordion.Item>
</Accordion>
将 @gravity-ui/icons 集成到文档组件中,统一图标渲染,同时改进了 SSR 支持并提升了性能。
将 React Aria Components 升级到 v1.14.0。本次升级包含:
增强:
isReadOnly 与 isRequired 渲染属性shouldCloseOnPress 属性useControlledState 现已在 setState 回调中提供支持修复:
aria-label 的问题完整变更请参阅 React Aria Components v1.14.0 发布说明。
@internationalized/date:3.10.0 → 3.10.1@radix-ui/react-avatar:1.1.10 → 1.1.11tailwind-merge:3.3.1 → 3.4.0tailwind-variants:3.1.1 → 3.2.2修复了 Input 与 TextArea 组件的禁用状态样式。
no-highlight 工具类,用于防止交互元素中的文字被选中,从而提升体验will-change CSS 属性,以获得更好的动画性能backdropVariant / variant prop 的取值已从 "solid" 重命名为 "opaque",以提升语义清晰度——「opaque」(不透明)更准确地描述了遮罩的视觉外观。
迁移:
将 AlertDialog 中所有 backdropVariant="solid" 替换为 backdropVariant="opaque",将 Modal 中所有 variant="solid" 替换为 variant="opaque":
// Before
<AlertDialog.Backdrop backdropVariant="solid">
<AlertDialog.Container>
</AlertDialog.Container>
</AlertDialog.Backdrop>
<Modal.Backdrop variant="solid">
<Modal.Container>
</Modal.Container>
</Modal.Backdrop>
// After
<AlertDialog.Backdrop backdropVariant="opaque">
<AlertDialog.Container>
</AlertDialog.Container>
</AlertDialog.Backdrop>
<Modal.Backdrop variant="opaque">
<Modal.Container>
</Modal.Container>
</Modal.Backdrop>
可用的 backdrop 变体:
"opaque" —— 深色不透明遮罩,完全遮挡背景(即此前的 "solid")"blur" —— 模糊遮罩,柔和地遮挡背景"transparent" —— 透明遮罩,保持背景可见asChild prop为提供更清晰的 API、更强的类型安全性以及更简单的使用方式,组件中的 asChild 模式已被移除。
关于组件组合模式的更多细节,请参阅 组合指南。
isInvalid 样式在 surface 背景上使用相关组件时的表现感谢每一位为本次发布做出贡献的开发者!
<PRContributors />