此功能仍处于实验阶段。“Experimental”(实验性)意味着这是早期实现,可能会发生剧烈且破坏性的更改。

VStack(垂直堆栈)是一个布局组件,用于将子元素垂直排列。

用法

VStack 可以渲染任何内部内容。

import { __experimentalVStack as VStack } from '@wordpress/components';

function Example() {
    return (
        <VStack>
            <span>Code</span>
            <span>is</span>
            <span>Poetry</span>
        </VStack>
    );
}

属性

alignment: HStackAlignment | CSSProperties[‘alignItems’]

确定子元素的对齐方式。

  • top:将内容对齐到顶部。
  • topLeft:将内容对齐到左上角。
  • topRight:将内容对齐到右上角。
  • left:将内容对齐到左侧。
  • center:将内容居中对齐。
  • right:将内容对齐到右侧。
  • bottom:将内容对齐到底部。
  • bottomLeft:将内容对齐到左下角。
  • bottomRight:将内容对齐到右下角。
  • edge:使内容均匀分布,直至容器的主轴边缘。
  • stretch:将内容拉伸至容器的交叉轴边缘。

direction: FlexDirection

可以使用 direction 调整子内容的流向。column 将子元素垂直对齐,row 将子元素水平对齐。

expanded: boolean

扩展到最大可用宽度(如果是水平方向)或高度(如果是垂直方向)。

justify: CSSProperties[‘justifyContent’]

如果 direction 为 row,则水平对齐内容;如果 direction 为 column,则垂直对齐内容。
在下面的示例中,flex-start 会将子内容向左对齐。

spacing: CSSProperties[‘width’]

每个子元素之间的间距。可以使用 spacing 调整每个子元素之间的间距。
spacing 的值作为库网格系统(基础值为 4px)的乘数。

wrap: boolean

确定子元素是否应换行。

Spacer

当在 VStack 中使用 Spacer 时,Spacer 会自适应扩展以占据剩余空间。

import {
    __experimentalSpacer as Spacer,
    __experimentalVStack as VStack,
} from '@wordpress/components';

function Example() {
    return (
        <VStack>
            <span>Code</span>
            <Spacer>
                <span>is</span>
            </Spacer>
            <span>Poetry</span>
        </VStack>
    );
}

Spacer 也可以用于项目之间,将它们分开。

import {
    __experimentalSpacer as Spacer,
    __experimentalVStack as VStack,
} from '@wordpress/components';

function Example() {
    return (
        <VStack>
            <span>Code</span>
            <Spacer />
            <span>is</span>
            <span>Poetry</span>
        </VStack>
    );
}