Ext_菜单组件_Ext.menu.Menu

连接地址:http://blog.csdn.net/lulu_jiang/article/details/5473035


菜单组件常用配置:

[javascript]  view plain  copy
  1. /* 
  2. Ext.menu.Menu主要配置项表: 
  3. items          Mixed                   有效的菜单项数组 
  4. shadow         Boolean/String          阴影显示方式,默认true(sides方式),sides,frame,drop 
  5.  
  6. 菜单项主要类型表: 
  7. Ext.menu.TextItem            文本元素 
  8. Ext.menu.Separator           菜单分隔符 
  9. Ext.menu.CheckItem           包含选择框的菜单项 
  10.  
  11. 菜单组件常用方法表: 
  12. addElement()          Mixed el                添加Element元素 
  13. addItem()             Ext.menu.Item item      添加一个已存在的菜单项 
  14. addMenuItem()         Object config           根据菜单项配置对象,添加菜单项 
  15. addSeparator()                                添加菜单分隔符 
  16. addText()             String text             添加一字符串 
  17. */  

 

1.简单菜单栏

[c-sharp]  view plain  copy
  1. "text/javascript">  

 

2.创建二级或多级菜单

[javascript]  view plain  copy
  1. /* 
  2. 创建二级或多级菜单 
  3. */  
  4. Ext.onReady(function(){  
  5.     Ext.BLANK_IMAGE_URL = '../extjs2.0/resources/images/default/s.gif';  
  6.       
  7.     var config = {  
  8.         renderTo:'multilevelMenu',  
  9.         width:300  
  10.     }  
  11.       
  12.     var toolBar = new Ext.Toolbar(config);  
  13.       
  14.     config = {  
  15.         shadow:true,  
  16.         items:[  
  17.             //个人信息  
  18.             {  
  19.                 text:'个人信息',  
  20.                 menu:new Ext.menu.Menu({                              //二级菜单  
  21.                     items:[  
  22.                         {text:'身高',handler:onMenuItem},  
  23.                         {text:'体重',handler:onMenuItem},  
  24.                         {  
  25.                             text:'生日',  
  26.                             menu:new Ext.menu.DateMenu({              //三级菜单,为日期选择菜单  
  27.                                 handler:onClickDate  
  28.                             })  
  29.                         }  
  30.                     ]  
  31.                 })  
  32.             },  
  33.             //公司信息  
  34.             {text:'公司信息',handler:onMenuItem}  
  35.         ]  
  36.     }  
  37.       
  38.     var infoMenu = new Ext.menu.Menu(config);                         //一级菜单  
  39.       
  40.     toolBar.add(  
  41.         {text:'设置',menu:infoMenu}  
  42.     );  
  43.       
  44.     function onClickDate(dm,date)  
  45.     {  
  46.         Ext.Msg.alert('您选择的日期是:',date.format('Y-m-j'));  
  47.     }  
  48.       
  49.     function onMenuItem(item)  
  50.     {  
  51.         //Ext.Msg.alert('您选择的菜单项是:',item.text);  
  52.         /*Ext.Msg.buttonText = { 
  53.             yes:'确定' 
  54.         }*/  
  55.           
  56.         Ext.Msg.buttonText.ok = '确定';  
  57.           
  58.         var config = {  
  59.             title:'您选择的菜单项是:',  
  60.             msg:item.text,  
  61.             width:200,  
  62.             closable:false,  
  63.             buttons:Ext.Msg.OK  
  64.         }  
  65.           
  66.         Ext.Msg.show(config);  
  67.     }  
  68. });  

 

3.使用菜单适配器

[javascript]  view plain  copy
  1. /* 
  2. 使用菜单适配器(Ext.menu.Adapter) 
  3. 将非菜单组件包装成一菜单项 
  4. */  
  5. Ext.onReady(function(){  
  6.     Ext.BLANK_IMAGE_URL = '../extjs2.0/resources/images/default/s.gif';           //便于将来换肤用  
  7.       
  8.     var config = {  
  9.         renderTo:'adapterMenu',  
  10.         width:300  
  11.     }  
  12.       
  13.     var toolBar = new Ext.Toolbar(config);  
  14.       
  15.     config = {  
  16.         items:[  
  17.             //使用适配器将按钮加入菜单  
  18.             new Ext.menu.Adapter(new Ext.Button({  
  19.                 text:'新建',  
  20.                 handler:onButtonClick  
  21.             })),  
  22.             new Ext.menu.Adapter(new Ext.Button({  
  23.                 text:'打开',  
  24.                 handler:onButtonClick  
  25.             })),  
  26.             new Ext.menu.Adapter(new Ext.Button({  
  27.                 text:'关闭',  
  28.                 handler:onButtonClick  
  29.             }))  
  30.         ]  
  31.     }  
  32.       
  33.     var fileMenu = new Ext.menu.Menu(config);  
  34.       
  35.     //菜单加入工具栏  
  36.     toolBar.add(  
  37.         {text:'文件',menu:fileMenu}  
  38.     );  
  39.       
  40.     //菜单项回调方法  
  41.     function onButtonClick(btn)  
  42.     {  
  43.         var config = {  
  44.             title:'您选择的菜单项是:',  
  45.             msg:btn.text,  
  46.             width:200,  
  47.             buttons:Ext.Msg.OK  
  48.         }  
  49.           
  50.         Ext.Msg.show(config);  
  51.     }  
  52. });  

 

4.具有选择框的菜单

[javascript]  view plain  copy
  1. /* 
  2. 具有选择框的菜单 
  3. */  
  4. Ext.onReady(function(){  
  5.     Ext.BLANK_IMAGE_URL = '../extjs2.0/resources/images/default/s.gif';           //便于将来换肤用  
  6.       
  7.     var config = {  
  8.         renderTo:'chooseMenu',  
  9.         width:300  
  10.     }  
  11.       
  12.     var toolBar = new Ext.Toolbar(config);  
  13.       
  14.     config = {  
  15.         items:[  
  16.             {  
  17.                 text:'主题颜色',  
  18.                 menu:new Ext.menu.Menu({  
  19.                     items:[  
  20.                         {  
  21.                             text:'红色主题',  
  22.                             checked:true,                   //初始状态选中  
  23.                             group:'theme',                   //为单选分组  
  24.                             checkHandler:onItemCheck         //选中后事件响应函数  
  25.                         },  
  26.                         {  
  27.                             text:'蓝色主题',  
  28.                             checked:false,  
  29.                             group:'theme',  
  30.                             checkHandler:onItemCheck  
  31.                         },  
  32.                         {  
  33.                             text:'黑色主题',  
  34.                             checked:false,  
  35.                             group:'theme',  
  36.                             checkHandler:onItemCheck  
  37.                         }  
  38.                     ]  
  39.                 })  
  40.             },  
  41.             {text:'是否启用',checked:false,checkHandler:onItemCheck}  
  42.         ]  
  43.     }  
  44.       
  45.     var themeMenu = new Ext.menu.Menu(config);  
  46.       
  47.     toolBar.add(  
  48.         {text:'风格选择',menu:themeMenu}  
  49.     );  
  50.       
  51.     function onItemCheck(item)  
  52.     {  
  53.         var config = {  
  54.             title:'你选的是:',  
  55.             msg:item.text,  
  56.             width:200,  
  57.             buttons:Ext.Msg.OK  
  58.         }  
  59.           
  60.         Ext.Msg.show(config);  
  61.     }  
  62. });  


你可能感兴趣的:(Extjs基础学习)