Reference version

LazyVStack

一个用于惰性垂直布局的 SwiftUI LazyVStack 组件。

iOS
tvOS
Included in Expo Go
Bundled version:
~56.0.6

For the complete documentation index, see llms.txt. Use this file to discover all available pages.

Expo UI LazyVStack 与官方 SwiftUI LazyVStack API 保持一致,并以垂直方向排列其子项,仅在需要时创建项目(当它们在滚动过程中变为可见时)。

安装

Terminal
npx expo install @expo/ui

If you are installing this in an existing React Native app, make sure to install expo in your project.

用法

基本懒加载垂直堆栈

LazyVStack 应该放在 ScrollView 内使用,以启用懒加载渲染。

BasicLazyVStackExample.tsx
import { Host, ScrollView, LazyVStack, Text } from '@expo/ui/swift-ui'; export default function BasicLazyVStackExample() { return ( <Host style={{ flex: 1 }}> <ScrollView> <LazyVStack spacing={12}> {Array.from({ length: 100 }, (_, i) => ( <Text key={i}>{`项目 ${i}`}</Text> ))} </LazyVStack> </ScrollView> </Host> ); }

带对齐方式

alignment 属性控制子项的水平对齐方式。可用选项有:leadingcentertrailing

LazyVStackAlignmentExample.tsx
import { Host, ScrollView, LazyVStack, Rectangle } from '@expo/ui/swift-ui'; import { frame } from '@expo/ui/swift-ui/modifiers'; export default function LazyVStackAlignmentExample() { return ( <Host style={{ flex: 1 }}> <ScrollView> <LazyVStack spacing={12} alignment="leading"> <Rectangle modifiers={[frame({ width: 50, height: 50 })]} /> <Rectangle modifiers={[frame({ width: 100, height: 50 })]} /> <Rectangle modifiers={[frame({ width: 75, height: 50 })]} /> </LazyVStack> </ScrollView> </Host> ); }

API

import { LazyVStack } from '@expo/ui/swift-ui';

Component

LazyVStack

iOS
tvOS

Type: React.Element<LazyVStackProps>

LazyVStackProps

alignment

iOS
tvOS
Optional • Literal type: string

The horizontal alignment of children within the stack.

Acceptable values are: 'leading' | 'center' | 'trailing'

children

iOS
tvOS
Type: React.ReactNode

spacing

iOS
tvOS
Optional • Type: number

The spacing between children.