效果图
组件代码:
/**
* 该扩展可以通过解析一定规则的json生成导航菜单
* @version 1.1 2019-07-05 增加了菜单cls定义,按钮cls定义
* @author YinWang
*/
Ext.define('Eip.ux.NavMenu', {
extend: 'Ext.Toolbar',
height: 30,
/**
* @cfg {url} 远程获取json数据的地址
*/
url: 'nav1.json',
/**
* @cfg {split} 远程获取json数据的地址
*/
split: false,
/**
* @cfg {store} 读取记录的store 默认为jsonstore
*/
store: undefined,
/**
* @cfg {root} store的root
*/
root: 'menus',
/**
* @cfg {menuPlain} 删除nav菜单的阴刻线
*/
menuPlain: true,
/**
* @cfg {topButtonCls} 导航菜单顶级按钮样式
*/
topButtonCls: '',
/**
* @cfg {menuBodyCls} 导航菜单panel体样式
*/
menuBodyCls: null,
/**
* @cfg {arrowCls} 顶级菜单的箭头样式,arrow为默认值
*/
arrowCls: 'arrow',
/**
* @method 点击菜单或按钮的时候触发
* @param menu 菜单按钮实例
*/
onClickMenu: function (menu) {
},
constructor: function (config) {
this.callParent(arguments);// 调用父类的构造
if (!this.