更多菜单详细设计

需求背景

目前产品中每个菜单的长度都是固定的,而且当用户浏览器分辨率过低的时候、或者用户菜单配置过多,在低分辨率下会存在菜单展示不全的情况,此时需要通过“更多”菜单,当浏览器可视区域不足以展示目标菜单的话,将其收入“更多”菜单中。

需求分析

  1. 首先需要解决的就是获取到窗口的可视区域大小
  2. 原有菜单实现是每个菜单的宽度是固定的,如果菜单的字数过多的话,就会出现菜单展示不全的问题,所以菜单长度不能固定,需要设置边距自动撑开
  3. 获取到每个菜单的宽度,计算当前窗口容器的可视宽度可以容纳的菜单数量
  4. 将放不下的菜单放入“更多”菜单中
  5. 各种边界场景(更多菜单的展示判断、下拉菜单用户名机构名过长隐藏)