fix: Fix menu highlight remaining after main menu is closed#567
fix: Fix menu highlight remaining after main menu is closed#567deepin-bot[bot] merged 1 commit intolinuxdeepin:masterfrom
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideUpdates the Menu delegate to keep items highlighted when hovered or when their submenu is open, preventing the highlight from disappearing when the main menu closes. Sequence diagram for menu highlight behavior with submenu visibilitysequenceDiagram
actor User
participant MainMenu
participant MenuItem
participant SubMenu
User->>MainMenu: movePointerTo(menuItem)
MainMenu->>MenuItem: set hovered = true
MenuItem->>MenuItem: highlighted = hovered || (subMenu && subMenu.visible)
User->>MenuItem: click
MenuItem->>SubMenu: open()
SubMenu-->>MenuItem: visible = true
MenuItem->>MenuItem: highlighted = hovered || (subMenu && subMenu.visible)
User->>MainMenu: close()
MainMenu-->>MenuItem: hovered = false
SubMenu-->>MenuItem: visible = true
MenuItem->>MenuItem: highlighted = hovered || (subMenu && subMenu.visible)
User->>SubMenu: movePointerAndInteract()
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Fix menu highlight remaining after main menu is closed Log: Fix menu highlight remaining after main menu is closed pms: BUG-306683
deepin pr auto review这段代码主要修改了 1. 语法逻辑审查现状: highlighted: hovered || (subMenu && subMenu.visible)分析:
2. 代码质量审查意见:
3. 代码性能审查意见:
4. 代码安全审查意见:
5. 改进建议虽然代码本身没有大问题,但为了增强健壮性,可以考虑以下微调: 建议 1:显式处理 null 检查(可选,增强可读性) // 现有写法已经很好,这是仅为演示的备选方案
highlighted: hovered || (subMenu !== null && subMenu.visible)建议 2:添加注释说明意图 // 保持高亮状态:当鼠标悬停时,或者子菜单处于打开状态时
highlighted: hovered || (subMenu && subMenu.visible)总结这段代码修改是合理且安全的。它解决了级联菜单中父菜单项在子菜单打开时失去高亮状态的 UX 问题。语法正确,性能影响微小,且具备基本的空值安全保护。建议采纳并添加简短注释以说明业务逻辑。 |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 18202781743, pengfeixx The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/merge |
|
This pr cannot be merged! (status: unstable) |
|
/forcemerge |
|
This pr force merged! (status: unstable) |
Fix menu highlight remaining after main menu is closed
Log: Fix menu highlight remaining after main menu is closed
pms: BUG-306683
Summary by Sourcery
Bug Fixes: