You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从休假申请模板的LeftMenuCollect集合中移除菜单项?

解决Power Apps休假模板移除左侧菜单项的问题

嘿,我完全懂你遇到的这个麻烦——Power Apps的预制模板经常会在多个地方悄悄初始化集合,只改OnStart或者临时移除肯定会被覆盖,重新加载就打回原形。下面给你一步步搞定的方法:

1. 找到LeftMenuCollect的真正初始化位置

别只盯着App的OnStart,休假模板通常会在主屏幕(比如Dashboard/Home屏幕)的OnVisible事件里重新生成这个菜单集合,甚至有些模板会用自定义组件来管理菜单。你可以用右上角的搜索框搜LeftMenuCollect,看看所有引用这个集合的地方,找到那段用来初始化它的代码(一般是ClearCollect或者Collect语句)。

2. 直接修改初始化代码(最彻底的方法)

找到初始化代码后,你会看到类似这样的结构:

ClearCollect(LeftMenuCollect, 
    Table(
        {Value: "Dashboard", Icon: Icon.Dashboard, Screen: DashboardScreen},
        {Value: "My Leave Balance", Icon: Icon.Balance, Screen: LeaveBalanceScreen},
        {Value: "About", Icon: Icon.Info, Screen: AboutScreen}
        // 其他菜单项...
    )
)

直接把包含"My Leave Balance"和"About"的那两行删掉就行。这样每次集合初始化时就不会包含这两个选项,不管怎么重新加载应用,菜单都不会再显示它们。

3. 如果找不到初始化代码,用RemoveIf强制移除

要是你搜遍了都找不到哪里初始化的集合,或者模板是从数据源动态拉取菜单的,那可以在App的OnStart或者主屏幕的OnVisible的最后加上这段代码:

RemoveIf(LeftMenuCollect, Value = "About" || Value = "My Leave Balance")

这段代码会在集合生成后,立刻把这两个项删掉,确保每次加载都生效。

注意别踩的坑

  • 别用临时的Remove ThisItem,那只是当前会话的临时修改,一旦集合被重新初始化(比如切换屏幕、刷新应用)就会恢复。
  • 如果左侧菜单是自定义组件,记得去组件内部的逻辑里找集合的生成代码,而不是只在屏幕或App层级找。

内容的提问来源于stack exchange,提问作者Saxon Rix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:51:51