NativeBase v4.0版本ActionSheet footer未导出问题咨询
- 方案1:自定义实现Footer功能
你可以直接在ActionSheetContent组件内部自定义底部操作区域,完全匹配官方Footer的样式和交互逻辑,无需依赖官方导出组件,示例代码如下:
import { ActionSheet, ActionSheetContent, Box, Button, HStack, Text } from 'native-base'; // 内部自定义Footer部分 const CustomActionSheetFooter = () => { return ( <HStack space={3} p={4} borderTopWidth={1} borderTopColor="gray.200" justifyContent="flex-end"> <Button variant="ghost" onPress={() => console.log('取消')}> <Text>取消</Text> </Button> <Button onPress={() => console.log('确认')}> <Text color="white">确认</Text> </Button> </HStack> ) } // 业务中使用 const YourComponent = () => { return ( <ActionSheet isOpen={true} onClose={() => {}}> <ActionSheetContent> {/* 原有内容区域 */} <Box p={4}> <Text>ActionSheet 主体内容</Text> </Box> {/* 插入自定义Footer */} <CustomActionSheetFooter /> </ActionSheetContent> </ActionSheet> ) }
- 方案2:从底层依赖包直接导入未公开组件
NativeBase v4.0的ActionSheet底层基于gluestack-ui的ActionSheet实现,官方未导出的Footer组件可以直接从底层依赖包导入临时使用,注意后续版本更新时需要验证路径是否变更:
// 直接导入底层Footer组件 import { ActionSheetFooter } from '@gluestack-ui/action-sheet';
导入后即可按照官方文档的原有用法正常调用该组件。
内容的提问来源于stack exchange,提问作者Ashwini Kumar
相关产品推荐
相关产品推荐

