You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在React Native reanimated-bottom-sheet中禁用下拉关闭底部面板?

解决底部面板固定不被拖拽关闭的问题

要让底部面板保持固定位置、拖拽下拉时不会关闭,你可以通过修改BottomSheet组件的属性来实现,以下是调整后的代码:

function OnWheels() {        
  return (
    <Container>
      <MapView
        style={[styles.mapView]}
        initialRegion={{
          latitude: -6.307263,
          longitude: 106.756841,
          latitudeDelta: 0.09,
          longitudeDelta: 0.05,
        }}
      />
      <BottomSheet
        enabledBottomClamp={true}
        initialSnap={0} // 因仅保留一个停靠点,索引改为0
        borderRadius={20}
        snapPoints={[180]} // 只设置一个固定高度的停靠点
        renderContent={renderContent}
        enablePanDownToClose={false} // 禁用下拉关闭面板的功能
        enableDrag={false} // 完全禁用拖拽操作,固定面板位置
      />
    </Container>
  )
}

修改说明:

  • snapPoints={[180]}:将停靠点设置为单一固定高度,让面板只能停留在这个位置,没有其他可切换的高度选项
  • enablePanDownToClose={false}:明确关闭"下拉关闭面板"的默认行为
  • enableDrag={false}:彻底禁用拖拽交互,确保面板不会被用户拖动改变位置
  • initialSnap={0}:因为snapPoints现在只有一个元素,对应索引调整为0

内容的提问来源于stack exchange,提问作者ade bayu s

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 13:15:10