Skip to content

NE 合集 09 · 菜单 Menu 与侧边栏 Aside:导航布局壳 ​

《LingBuilder new_emoji 合集》第 9 集(导航篇第二集)。用 Menu 多级菜单 + Aside 侧边栏搭一个「左导航 + 右内容」的现代布局壳。菜单命令事件自带项目索引和完整层级路径,是本集最大的亮点。全程约 35 分钟。

前置要求:完成第 01 集(启用模块、切设计后端、F5 全流程)。本集源码包见文末。

这一集你将学会 ​

  • Menu:设计器 menuItems 记录表配顶层项;代码里用 NE菜单_设置项目 的文本协议(换行分隔、> 前缀建子菜单)换上完整多级菜单
  • 菜单命令事件:处理器直接收 (整数型 项目索引, 文本型 菜单路径, 文本型 命令),路径自带「设计稿 / 海报组」式完整层级
  • Aside:纯布局容器——占位、分区、配色,不参与点击事件
  • 弹出打开属性:设计器摆的菜单要把 popupOpen 设为真,否则运行时不绘制(本集最大的坑)

先看一眼本集成品——菜单、侧边栏、工具栏把命令收纳得整整齐齐:

成品预览

1. 命令与事件预告 ​

命令 / 事件作用
NE菜单_设置项目(控件名, 项目文本)运行期整表换菜单项:换行分隔各项,> 前缀表示上一项的子菜单
菜单命令 事件(Menu)带三个参数:项目索引、菜单路径(含层级)、命令
控件_设置文本(控件名, 文本)写状态播报

本集只需要 new_emoji 模块。

2. 新建项目 + 启用模块 + 切后端 ​

流程和第 1 集完全一样,项目名称填 导航布局壳:

欢迎页

选择项目类型

填写项目名

进入工作台

模块面板搜「原生界面」→ 启用「new_emoji 原生界面库」(首次弹登录框,登录一次即可):

搜索并启用

登录

已启用

界面设计 → 选中窗口 → 「设计后端」切为「new_emoji 模块」:

切换设计后端

工具箱

3. 设计界面 ​

窗口 940×620。左 Aside、中 Menu、右内容区:

控件名称显示内容左距顶距宽度高度关键属性
文本 Text标题文本🧭 导航布局壳322462036字号 21,粗体
文本 Text副标题文本Menu 多级菜单 · Aside 侧边栏——左导航 + 右内容的现代布局326678024字号 13,#94A3B8
分割线 Divider标题分割线🚪 侧边栏 + 菜单 + 内容区3210083628—
侧边栏 Aside导航侧边栏(清空)24140190450title=📚 导航台;backgroundColor=#FF1E293B
文本 Text侧栏说明Aside 是布局容器:负责占位与分区,不参与点击事件。40220160140字号 12,#94A3B8,自动换行
菜单 Menu主导航(清空)244140300450menuItems 三条顶层项(首页/项目/设置,各带命令);六个菜单配色属性显式给值;popupOpen=真
文本 Text状态文本🧭 欢迎来到导航布局壳。点菜单试试,带子菜单的那项能展开。580140330140字号 14,#7DD3FC,自动换行
文本 Text内容文本右侧是内容区:实际项目里放表格、图表或表单。580300330200字号 13,#94A3B8,自动换行

事件绑定:主导航绑「菜单命令」。

摆完的画布:

设计器全景

本集最重要的红线:设计器里摆的 Menu 必须把「弹出打开」(popupOpen)设为真——引擎把「未打开」的菜单当弹层处理,弹层不绘制,整个菜单就隐形了。配套地,六个菜单配色属性(背景/文字/活动文字/悬停背景/边框/禁用文字)也要显式给值,留空会画成全透明。

第二个红线:子菜单用 NE菜单_设置项目 的文本协议在代码里配——换行分隔各项,某项写 > 开头就挂到它的上一项下面。设计器的 menuItems 记录表配顶层项即可(记录表的 submenu 字段要再摆一个菜单控件,本集不展开)。

4. 写代码 ​

lcpp
类 MainWindow
    事件 _MainWindow_创建完毕()
        控件_设置文本(状态文本, "🧭 欢迎来到导航布局壳。点菜单试试,带子菜单的那项能展开。")
        NE菜单_设置项目(主导航, "🏠 首页\n📊 项目\n🎨 设计稿\n>🖼️ 海报组\n>📱 小程序组\n⚙️ 设置")
        调试输出("导航布局壳已创建完毕")
    结束

    事件 _主导航_菜单命令(整数型 项目索引, 文本型 菜单路径, 文本型 命令)
        控件_设置文本(状态文本, "🧭 选中第 " + 到文本(项目索引 + 1) + " 项:" + 菜单路径)
    结束
结束类

看点:NE菜单_设置项目 的项目文本里,「🎨 设计稿」后面跟着 >🖼️ 海报组 和 >📱 小程序组——两项都挂到设计稿下面变成子菜单。菜单命令事件的 菜单路径 参数把层级路径直接送进处理器(「🎨 设计稿 / 🖼️ 海报组」),连拼都不用拼。

代码截图

代码截图

5. 编译前先看错误列表 ​

点「编译当前项目」,先看底部错误列表——零报错再继续:

错误列表零报错

6. 运行!点菜单、进子菜单 ​

点「运行」。左侧 Aside 站位,中间菜单整表换成六项,设计稿的子菜单自动展开:

运行窗口

点「项目」——高亮切换,状态屏报「🧭 选中第 2 项:📊 项目」:

点项目

进子菜单点「海报组」——状态屏直接拿到完整层级路径「🧭 选中第 4 项:🎨 设计稿 / 🖼️ 海报组」:

子菜单路径

一个事件、两个参数、一次完整层级导航。

7. 导出源码包 ​

命令面板执行「项目:一键导出 LCPP 源码包」即可。

本集源码包 ​

  • 本集源码包已上架官网「示例源码」区,按名称「NE合集09-菜单与侧边栏:导航布局壳」即可下载(每集一个 .lcpppkg,配套预览图与图文教程直链)。
  • 导入:LingBuilder 欢迎页 →「导入源码包」,选中 .lcpppkg 一键还原整个项目(含窗口设计与全部源码)。
  • new_emoji 原生界面库为收费模块:导入后如未启用,在模块面板启用并用 LingBuilder 账号登录授权即可(和制作时是同一个账号体系,授权一次全合集通用)。

下一集预告 ​

导航篇收官:「页面导航件」——Breadcrumb/Anchor/Steps/Pagination/Backtop/Affix 六件套。