Open
Description
Description
When using the Menu component, if the list of items is longer then 12 or so, the menu modal is cutoff and the user has no way to find and select an item that is not visible. Could we have the ability to scroll within the menu when open? Or some arrows to indicate the additional items outside of the viewport? Also, the menu should use safearea insets to avoid being too close to the edges.
CodeSandbox/Snack link
No response
Steps to reproduce
- Create any gluestack starter for Expo
- Add a menu component with 20 items or so in it (see example below)
- Run
npm run ios
- Trigger menu to open with button
- See the menu items cutoff by edge of screen

Example component with Menu:
import { StyleSheet } from 'react-native';
import EditScreenInfo from '@/components/EditScreenInfo';
import { Text, View } from '@/components/Themed';
import { AddIcon, Button, ButtonText, EyeIcon, GlobeIcon, Icon, Menu, MenuItem, MenuItemLabel, SettingsIcon, SunIcon } from '@gluestack-ui/themed';
export default function TabOneScreen() {
const breeds = [
"Ameraucana",
"Ancona",
"Andalusian",
"Appenzeller Spitzhauben",
"Araucana",
"Australorp",
"Barnevelder",
"Brahma",
"Buckeye",
"Buff Orpington",
"Catalana",
"Chantecler",
"Cochin",
"Cornish",
"Croad Langshan",
"Delaware",
"Dominique",
"Dorking",
"Faverolles"
];
return (
<View style={styles.container}>
<Text style={styles.title}>Tab One</Text>
<Menu
useRNModal
trigger={({ ...triggerProps }) => {
return (
<Button {...triggerProps}>
<ButtonText>Menu</ButtonText>
</Button>
);
}}
>
{breeds.map((breed) => (
<MenuItem key={breed} textValue={breed}>
<MenuItemLabel size='sm'>
{breed}
</MenuItemLabel>
</MenuItem>
))}
</Menu>
<View style={styles.separator}/>
<EditScreenInfo path="app/(tabs)/index.tsx" />
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
title: {
fontSize: 20,
fontWeight: 'bold',
},
separator: {
marginVertical: 30,
height: 1,
width: '80%',
},
});
gluestack-ui Version
1.1.9
Platform
- Expo
- React Native CLI
- Next
- Web
- Android
- iOS
Other Platform
No response
Additional Information
No response
Metadata
Metadata
Assignees
Type
Projects
Status
Backlog