跳到主要内容

DropDown 下拉菜单

在元素做所在位置弹出一个菜单

示例

import { Header, ScrollView, TopView, GroupList, DropDown, Button, toast, Text, Space } from '@/duxuiExample'

const menus1 = [
{ text: '菜单1' },
{ text: '菜单2' },
{ text: '菜单3' },
{ text: '菜单4' }
]

const menus2 = [
{ text: '菜单1' },
{ type: 'line' },
{ text: '菜单2' },
{ text: '菜单3' },
{ type: 'line' },
{ text: '菜单4' }
]

export default function DropDownExample() {

return <TopView>
<Header title='DropDown' />
<ScrollView>
<GroupList>
<GroupList.Item title='下拉菜单' desc=''>
<DropDown
menuList={menus1}
onSelect={({ item }) => toast(item.text)}
>
<Button type='primary'>点击弹出</Button>
</DropDown>
</GroupList.Item>
<GroupList.Item title='分割线' desc=''>
<DropDown
menuList={menus2}
onSelect={({ item }) => toast(item.text)}
>
<Button type='primary'>点击弹出</Button>
</DropDown>
</GroupList.Item>
<GroupList.Item title='弹出自定义内容' desc=''>
<DropDown
renderContent={<Space style={{ padding: 12, backgroundColor: '#fff' }}>
<Text>菜单1</Text>
<Text>菜单2</Text>
<Text>菜单3</Text>
<Text>自定义内容</Text>
</Space>}
>
<Button type='primary'>点击弹出</Button>
</DropDown>
</GroupList.Item>
</GroupList>
</ScrollView>
</TopView>
}

Props

菜单列表

类型必填默认值
DropDownMenuItem[]

DropDownMenuItem说明

名称类型必填说明
textstring菜单名称
lineboolean该项是否为分隔线

renderContent

如果不传入 menuList 也可以用这个自定义渲染弹出的内容

类型必填默认值
DropDownMenuItem[]

onSelect

用户点击菜单回调

类型必填默认值
(param: { item: { [key: string]: any }, index: number }) => void

select

当前选中项的索引,选中的会在右侧生成一个图标

类型必填默认值
number

className

传递给组件内部的 class,用于样式控制

类型必填默认值
string

style

传递给组件内部的 class,用于样式控制

类型必填默认值
CSSProperties

children

子元素,显示点击区域

类型必填默认值
ReactElement