Docs

Documentation versions (currently viewingVaadin 24)
Documentation translations (currently viewingChinese)

此页面是从官方文档 http://vaadin.com/docs 机器翻译而来。其中可能存在错误、不准确或误述。Vaadin不对翻译的准确性、可靠性或及时性做任何担保或声明。

菜单配置

收集带有菜单注解的路由用于菜单生成。

为了生成自定义菜单,可以使用[classname]MenuConfiguration 来收集定义好的服务端和客户端路由。客户端路由取自文件系统路由定义,服务端路由来源于带有注解[annotationname]`@Menu`的路由。

收集的菜单项通过[classname]UI`的访问控制(即[classname]`NavigationAccessControl`与[classname]`ViewAccessChecker)进行过滤。如果应用定义了登录和路由的`Roles`,返回的列表会只展示当前用户可用的路由。

创建路由菜单

在Flow应用程序中,任何标记有[annotationname]@Menu 注解的路由,都将用于菜单收集。

要获取可用的菜单路由,请调用静态方法`MenuConfiguration.getMenuEntries()。该方法将返回一个[classname]`List<MenuEntry>,首先按照找到的顺序排序,然后再按路径字母顺序及区域排序。通过使用[classname]Anchor,可以很容易地创建一个简单的菜单,例如:

Source code
Java
List<MenuEntry> menuEntries = MenuConfiguration.getMenuEntries();
menuEntries.forEach(entry -> layout.add(new Anchor(entry.path(), entry.title())));

菜单项返回的数据

路由的[classname]`MenuEntry`包含该路由的各种信息。使用这些数据,可以自动地填充菜单。

包含的数据如下:

path

可用于导航的路由路径。

title

在[annotationname]@Menu`注解或[annotationname]@PageTitle`中定义的标题(如有定义);否则,使用类的简单名称。客户端路由的标题则来自文件系统的路由数据。

order

菜单项的顺序号(如果已定义)。

icon

菜单要使用的图标。该值可用在`<vaadin-icon>` 元素的`icon`属性内,接受图标的组和名称(例如`vaadin:file`)。也可以通过`<vaadin-icon>` 元素的`src`属性提供值,其中路径指向图标的位置(例如`line-awesome/svg/lock-open-solid.svg`)。

menuClass

带[annotationname]`@Menu`注解的源class。对于客户端路由,该值始终为null。

647922A8-D542-4FA7-AAF6-44D40FC6A33B