HarmonyOS 鸿蒙Next Menu二级菜单不弹出,求大神指教

HarmonyOS 鸿蒙Next Menu二级菜单不弹出,求大神指教

@Entry @Component struct Index { @State select: boolean = true private iconStr: ResourceStr = $r(“app.media.icon”) private iconStr2: ResourceStr = $r(“app.media.icon”)

@Builder SubMenu() { Menu() { MenuItem({ content: “复制”, labelInfo: “Ctrl+C” }) MenuItem({ content: “粘贴”, labelInfo: “Ctrl+V” }) } }

@Builder MyMenu(){ Menu() { MenuItem({ startIcon: $r(“app.media.icon”), content: “菜单选项” }) MenuItem({ startIcon: $r(“app.media.icon”), content: “菜单选项” }) .enabled(false) MenuItem({ startIcon: this.iconStr, content: “菜单选项”, endIcon: $r(“app.media.icon”), builder: this.SubMenu.bind(this) }) MenuItemGroup({ header: ‘小标题’ }) { MenuItem({ content: “菜单选项” }) .selectIcon(true) .selected(this.select) .onChange((selected) => { console.info(“menuItem select” + selected); this.iconStr2 = $r(“app.media.icon”); }) MenuItem({ startIcon: $r(“app.media.icon”), content: “菜单选项”, endIcon: $r(“app.media.icon”), builder: this.SubMenu.bind(this) }) } MenuItem({ startIcon: this.iconStr2, content: “菜单选项”, endIcon: $r(“app.media.icon”) }) } }

build() { Row() { Column() { Text(‘click to show menu’) .fontSize(50) .fontWeight(FontWeight.Bold) } .bindMenu(this.MyMenu) .width(‘100%’) } .height(‘100%’) } }

这个官方实例代码,运行到我的电脑上二级菜单不能弹出


更多关于HarmonyOS 鸿蒙Next Menu二级菜单不弹出,求大神指教的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

你好,这个是编辑器的预览器有问题,你可以试试通过连接手机查看是可以正常弹窗

更多关于HarmonyOS 鸿蒙Next Menu二级菜单不弹出,求大神指教的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这问题解决了么?

我也有这问题

我也有这个问题

我也遇到了,还以为我写的有问题,运行了一下官方提供的示例也是不行。。。

一样,这个是个问题吧

在HarmonyOS中,Menu二级菜单不弹出的问题可能涉及以下几个方面:

  1. 布局文件配置:检查XML布局文件中Menu的配置是否正确,确保二级菜单的层级关系定义无误。

  2. 事件处理:确认Menu的点击事件处理逻辑是否完善,确保点击一级菜单时能够正确触发二级菜单的显示。

  3. 资源文件:检查资源文件中是否有与Menu相关的错误或遗漏,如字符串、图标等资源是否正确引用。

  4. API调用:确保在代码中正确调用了显示二级菜单的API,如MenuInflater的使用是否正确。

  5. 系统版本兼容性:确认代码在不同HarmonyOS版本上的兼容性,某些API或行为可能在不同版本中存在差异。

  6. 日志排查:通过日志查看是否有相关错误信息,帮助定位问题。

以上是可能导致Menu二级菜单不弹出的常见原因,可根据这些方向进行排查。

回到顶部