基于Ext.ux.MenuButton改造而来,和它不同的是,不会每次都去销毁侧边栏,只是单纯的隐藏,属性配置方面没啥区别,每次点击按钮显示时,会触发showMenu事件/方法

代码如下:

/**
*只隐藏不销毁的侧边栏
* @private
*/
Ext.define('ux.Menu.Context', {
extend: 'Ext.Button',
requires: ['Ext.ux.ContextMenu'],
config: {
menuItems: [],
menuSide: 'right',
menuCover: false,
menuCls: null,
listeners: {
tap: 'onTap'
}
},
initialize: function () {
var me = this;
me.$menu = Ext.create('Ext.ux.ContextMenu', {
cls: me.getMenuCls(),
items: me.getMenuItems(),
listeners: {
scope: me,
hide: function () {
Ext.Viewport.hideMenu(me.getMenuSide());
}
}
});
me.$menu.on({
scope: me,
tap: me.onMenuButtonTap,
delegate: 'button'
});
Ext.Viewport.setMenu(me.$menu, {
side: me.getMenuSide(),
cover: me.getMenuCover()
});
me.callParent(arguments);
},
onTap: function (e) {
this.fireAction('showMenu', [this], 'showMenu');
Ext.Viewport.showMenu(this.getMenuSide());
},
onMenuButtonTap: function (button) {
Ext.Viewport.hideMenu(this.getMenuSide());
}
});

具体用法可参考官方blackberry示例

效果图:

最新文章

  1. 相克军_Oracle体系_随堂笔记010-SCN
  2. jquery操作复选框(checkbox)的12个小技巧总结
  3. go的markdown解析库和session库
  4. python 学习笔记6(函数)
  5. 关于 HTTP 请求头的内容
  6. 控件(弹出类): ToolTip, Popup, PopupMenu
  7. CF 363B One Bomb(枚举)
  8. IIS:开启GZIP压缩效率对比及部署方法
  9. UVa(12821),MCMF
  10. MySQL 游标(PREPARE预处理语句)
  11. JavaCC从入门到出门
  12. lombok的简单介绍(1)
  13. BZOJ.3425.[POI2013]Polarization(DP 多重背包 二进制优化)
  14. 如何用新安装的jdk替换掉Linux系统默认jdk
  15. IDEA 导出项目war包
  16. 服装盘点机PDA在服装行业颜色尺码仓库条码高效管理应用
  17. memset(&a, 0, sizeof(struct customer))函数
  18. sqlserver top 赋值
  19. 【html/css】模态框的实现
  20. 个人最常用的vim操作

热门文章

  1. FXAA
  2. Redis锁的简单应用
  3. 关于Struts2的多文件上传
  4. 【ML】人脸识别
  5. QT编译错误:invalid application of 'sizeof' to incomplete type 'Qt3DRender::QPickEvent'
  6. Redis使用示例及在PHP环境中用redis存储session
  7. Sublime text2插件
  8. MTK 时区修改
  9. Spring父容器与子容器
  10. python的httplib、urllib和urllib2的区别及用