# Menu 菜单组件 ### 介绍 下拉选择菜单组件 ### 安装 ``` javascript import { createApp } from 'vue'; import { Menu } from '@nutui/nutui'; const app = createApp(); app.use(Menu); ``` ## 代码演示 ### 基础用法1 `Menu` 属性支持传入列表数据menuList和title名称设置。 ```html ``` ```js setup() { const resData = reactive({ title: '热门推荐', menuList: [ {value: '手机'}, {value: '电脑'}, {value: '家用电器'}, {value: '日用百货'} ] }); } ``` ### 菜单多列展示 `Menu` 的 ` multiStyle` 属性配置1列、2列、3列展示菜单列表,默认单列展示。 `maxHeight` 属性可控制菜单列表的最大高度。 ```html ``` ### 禁用操作 `Menu` 的 `disabled` 属性可对菜单列表进行禁用操作。 `autoClose` 属性控制下拉菜单列表是否选择后自动收起,默认自动收起。 ```html ``` ### 禁止蒙层展示 属性`hasMask`控制是否有蒙层,默认为 `true`展示蒙层 ```html ``` ### 点击事件 `Menu` 的 `@menu-click` 事件返回点击的菜单标题,`@on-change`事件返回菜单列表选中的数据。 ```html ``` ```js const getChecked = (info: any, name: string) => { alert('选择菜单选项:' + name); console.log(11, info, name); }; const alertText = (info, type) => { console.log(info, type); if (type == 'title') { alert('菜单标题点击:' + info); } else { alert('禁用操作'); } }; ``` ### 自定义内容 ```html
设置为默认 确认提交
``` ## API ### Props | 参数 | 说明 | 类型 | 默认值 | |--------------|----------------------------------|--------|------------------| | title | 菜单标题名称或可为菜单列表第一项,必填 | String | - | | menuList | 菜单列表数据,必填 | Array | - | | multiStyle | 列表列数设置,默认1列,可选值 `1` `2` `3` | String, Number | 1 | | disabled | 是否开启禁用设置,默认不开启 | Boolean | false | | maxHeight | 菜单列表最大高度,单位px | String, Number | - | | autoClose | 选择后下拉菜单列表是否自动收起,默认自动收起 | Boolean | true | |hasMask| 是否有蒙层 | Boolean | true| ### Events | 事件名 | 说明 | 回调参数 | |--------|----------------|--------------| | menu-click | 点击菜单标题触发,返回菜单标题名称 | event: Event | | on-change | 点击菜单列表选项触发,返回选中菜单项数据、名称 | event: Event |