This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
底部弹出面板
一种从屏幕底部滑出的模态弹出面板。
一个从屏幕底部滑出的模态面板。该面板的可见性受控——通过 React 状态切换 isPresented,并通过 onDismiss 将其关闭(当用户向下滑动或点击遮罩层时会调用)。


安装
If you are installing this in an existing React Native app, make sure to install expo in your project.
用法
基础底部弹窗
隐藏拖动指示器
对于没有把手的弹窗,传入 showDragIndicator={false}。
吸附点
传入 snapPoints,让用户可以在多个静止高度之间拖动弹窗。你可以使用语义值 'half' 和 'full',以获得跨平台一致性。{ fraction } 和 { height } 形式会在 iOS 和 web 上被精确应用。
当弹窗内容可能比最小吸附点更高时,请将其包裹在 ScrollView 中,以便溢出内容能够正确滚动。
在 Android 上,
{ fraction }和{ height }会吸附到'half'/'full'中最近的一个——底层的ModalBottomSheet仅支持两种静止状态。只有当内容高度足以超过 Material 的部分展开阈值时,部分展开状态才会显示;如果需要在内容较少时显示半屏状态,请为内容设置明确的高度,或让内容填满可用空间。
API
import { BottomSheet } from '@expo/ui';
Component
Type: React.Element<BottomSheetProps>
A modal sheet that slides up from the bottom of the screen.
Props for the BottomSheet component, a modal sheet that slides up from the bottom of the screen.
ModifierConfig[]Platform-specific modifier escape hatch. Pass an array of modifier configs
from @expo/ui/swift-ui/modifiers or @expo/ui/jetpack-compose/modifiers.
() => voidCalled when the bottom sheet is dismissed by the user (e.g. swiping down or tapping the overlay).
boolean • Default: trueWhether to show a drag indicator at the top of the sheet.
SnapPoint[]Heights the sheet can rest at.
When omitted, the sheet auto-sizes to its content.
See SnapPoint for the supported values.
Example
``['half', 'full'] — draggable between half and full
Example
``['full'] — always full height
Types
A snap point describing one of the heights a BottomSheet can rest at.
'half'— Approximately half-screen.'full'— Fully expanded.{ fraction }— A fraction of the screen height (0–1). iOS / web only.{ height }— A fixed pixel height. iOS / web only.
On Android, { fraction } and { height } snap to the nearest of 'half' / 'full'.
See the component docs for platform behavior notes.
Type: 'half' or 'full' or object shaped as below:
Or object shaped as below: