跳到主要内容

Stack

纵向 flex 布局容器,是对 Ant Design Flex 组件 vertical 预设的便捷封装。

VEF 专属组件。 不属于 Ant Design 的一部分。

何时使用

  • 将子元素纵向排列,并保持一致的间距。
  • 用语义化组件替代 <div style={{ display: 'flex', flexDirection: 'column' }}>

基础用法

import { Stack } from '@vef-framework-react/components';

export default function Demo() {
return (
<Stack gap="middle">
<div>Item 1</div>
<div>Item 2</div>
<div>Item 3</div>
</Stack>
);
}

带对齐方式

import { Stack } from '@vef-framework-react/components';

export default function Demo() {
return (
<Stack gap="small" align="center">
<div>Centered Item 1</div>
<div>Centered Item 2</div>
</Stack>
);
}

API

Stack 继承了除 verticalorientation(已固定为纵向)和 gap(在下方重新定义)之外的所有 Flex 属性,并新增:

PropTypeDefault说明
gap'small' | 'medium' | 'middle' | 'large' | CSSProperties['gap']'small'子元素间距
alignCSSProperties['alignItems']交叉轴对齐方式
justifyCSSProperties['justifyContent']主轴对齐方式
wrapboolean | CSSProperties['flexWrap']换行方式
flexCSSProperties['flex']flex 伸缩
classNamestringCSS 类名
styleCSSProperties内联样式
refRef<HTMLDivElement>DOM ref

最佳实践

  • 纵向布局使用 Stack,居中内容使用 Center
  • 优先使用具名间距('small''medium''large')而非像素值,以与设计系统保持一致。