浏览 184
分享
导航菜单 KLMenu
基本形式
一个完整的Menu由kl-menu
, kl-menu-sub
, kl-menu-item
组合构成; kl-menu
只支持两级菜单, kl-menu-sub
是菜单的第一级, 它可以通过kl-menu-item
实现对应的子菜单,也可以独立作为没有子菜单的一级菜单
KLMenuSub
: 可以根据url, iconClass, title, titleTemplate属性定制一级菜单的显示KLMenuItem
: 可以直接使用url属性, 替换自己实现的a链接标签
<kl-row><kl-col span=4><div style="width:180px;"><kl-menu><kl-menu-sub titleTemplate="<a href='/'>首页</a>"></kl-menu-sub><kl-menu-sub title="库存管理"><kl-menu-item title="商品实时数据"></kl-menu-item><kl-menu-item><a href="/">单据审核</a></kl-menu-item></kl-menu-sub><kl-menu-sub title="财务管理"><kl-menu-item title="对账管理"></kl-menu-item><kl-menu-item url="/">请款管理</kl-menu-item></kl-menu-sub><kl-menu-sub titleTemplate="<a>统计数据</a>"></kl-menu-sub><kl-menu-sub titleTemplate="<a>订单管理</a>"></kl-menu-sub><kl-menu-sub titleTemplate="<a>消息管理</a>"></kl-menu-sub></kl-menu></div></kl-col><kl-col span=4><div style="width:180px;"><kl-menu><kl-menu-sub title="首页" url="/" iconClass="icon icon-home"></kl-menu-sub><kl-menu-sub title="库存管理" iconClass="icon icon-inventory"><kl-menu-item title="商品实时数据"></kl-menu-item><kl-menu-item><a href="/">单据审核</a></kl-menu-item></kl-menu-sub><kl-menu-sub title="财务管理" iconClass="icon icon-financial"><kl-menu-item title="对账管理"></kl-menu-item><kl-menu-item url="/">请款管理</kl-menu-item></kl-menu-sub><kl-menu-sub iconClass="icon icon-statistics" titleTemplate="<a>统计数据</a>"></kl-menu-sub><kl-menu-sub iconClass="icon icon-order" titleTemplate="<a>订单管理</a>"></kl-menu-sub><kl-menu-sub iconClass="icon icon-message" titleTemplate="<a>消息管理</a>"></kl-menu-sub></kl-menu></div></kl-col></kl-row>
通过配置数据渲染菜单
一般情况下, 菜单都是根据后端配置的数据生成, 这种情况下, 可以加入一些简单的逻辑实现这种动态数据的菜单
<kl-row><kl-col span=4><div style="width:180px;"><kl-menu uniqueOpened="{uniqueOpened}">{#list menus as menu}{#if menu.children && menu.children.length}<kl-menu-sub title="{menu.title}" defaultOpen="{menu.open}">{#list menu.children as page}<kl-menu-item isCurrent="{page.open}" url="{page.url}">{page.title}</kl-menu-item>{/list}</kl-menu-sub>{#else}<kl-menu-sub titleTemplate="<a href='{menu.url}'>{menu.title}</a>"></kl-menu-sub>{/if}{/list}</kl-menu></div></kl-col><kl-col span=4><div style="width:180px;"><kl-menu uniqueOpened="{uniqueOpened}">{#list menus as menu}{#if menu.children && menu.children.length}<kl-menu-sub title="{menu.title}" defaultOpen="{menu.open}" iconClass="icon {this.getIconClass(menu.key)}">{#list menu.children as page}<kl-menu-item isCurrent="{page.open}" url="{page.url}">{page.title}</kl-menu-item>{/list}</kl-menu-sub>{#else}<kl-menu-sub iconClass="icon {this.getIconClass(menu.key)}" titleTemplate="<a href='{menu.url}'>{menu.title}</a>"></kl-menu-sub>{/if}{/list}</kl-menu></div></kl-col></kl-row>
var component = new NEKUI.Component({template: template,data: {menus: [{title: '首页',key: 'home'}, {title: '库存管理',open: true,key: 'inventory',children: [{open: true,title: '商品实时数据',url: '/'},{title: '单据审核',url: '/'}]}, {title: '财务管理',key: 'financial',children: [{title: '对账管理',url: '/'},{title: '请款管理',url: '/'}]}, {title: '统计数据',key: 'statistics'}, {title: '订单管理',key: 'order'}, {title: '消息管理',key: 'message'}]},getIconClass: function(key) {return 'icon-' + key;}});
API
KLMenu
KLMenu
Param | Type | Description |
---|---|---|
[options.data] | object | = 绑定属性 |
[options.data.class] | string | => 补充class |
[options.data.uniqueOpened] | boolean | => 是否只保持打开一个菜单 |
[options.data.router] | object | => 单页应用时, 请将regular-state的manager实例传入 |
menuitem-click 选择某一页时触发Event
Name | Type | Description |
---|---|---|
menuitem | object | 点击的menuItem实例 |
KLSubMenu
KLSubMenu
Param | Type | Default | Description |
---|---|---|---|
[options.data] | object | = 绑定属性 | |
[options.data.class] | string | => 补充class | |
[options.data.defaultOpen] | boolean | false | => 是否默认展开,如果需要默认展开,设置为true |
[options.data.url] | string | => 如果一级菜单需要链接,可配置url属性 | |
[options.data.route] | string | => 单页spa应用时替代url属性 | |
[options.data.iconClass] | string | => 菜单文字前的icon | |
[options.data.title] | string | => 标题文案 | |
[options.data.titleTemplate] | string | => 标题文案模板 |
KLMenuItem
KLMenuItem
Param | Type | Description |
---|---|---|
[options.data] | object | = 绑定属性 |
[options.data.class] | string | => 补充class |
[options.data.title] | string | => 标题文案 |
[options.data.url] | string | => 跳转链接 |
[options.data.route] | string | => 单页spa应用时替代url属性 |
[options.data.isCurrent] | boolean | => 是否是当前页 |
评论列表