`
liss
  • 浏览: 848359 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Ext.widgets-toolbar

阅读更多

Ext.menu.Menu
菜单对象

config{
    allowOtherMenus : Boolean    //允许同时显示其它的菜单?
    defaultAlign : String        //默认对齐方式:tl-bl?
    defaults : Object        //默认的菜单项配置,将会应用到所有的items
    items : Mixed    //菜单项数组
    minWidth : Number        //最小宽度.默认120
    shadow : Boolean/String    //
    subMenuAlign : String    //子菜单对齐方式 tl-tr?
}

Menu( Object config )
构造

add( Mixed args ) : Ext.menu.Item
添加菜单项
可能的参数为   
* 从Ext.menu.Item继承来的菜单项对象
* 可以被转换为menu item的HTMLElement对象
* 一个Ext.menu.Item的构造config对象
*一个字符串,-或separator将为分隔项,其它的做为TextItem对象的构造参数


addElement( Mixed el ) : Ext.menu.Item
添加Element对象

addItem( Ext.menu.Item item ) : Ext.menu.Item
添加Item 对象

addMenuItem( Object config ) : Ext.menu.Item
添加Item对象,这回传入的参数是item构造的config参数

addSeparator() : Ext.menu.Item
添加间隔项

addText( String text ) : Ext.menu.Item
添加文本项

getEl() : Ext.Element
得到当前element对象

hide( [Boolean deep] ) : void
隐藏

insert( Number index, Ext.menu.Item item ) : Ext.menu.Item
在index位置插入item
isVisible() : void
可见?

remove( Ext.menu.Item item ) : void
移除item

removeAll() : void
移除所有

show( Mixed element, [String position], [Ext.menu.Menu parentMenu] ) : void
相对于element显示当前菜单

showAt( Array xyPosition, [Ext.menu.Menu parentMenu] ) : void
在绝对位置xyposition显示当前菜单


Ext.menu.BaseItem
所有菜单项的基类,继承自Component
 
config {
    activeClass : String    //活跃时的样式类,默认x-menu-item-active
    canActivate : Boolean    //能设置活跃?默认为false
    handler : Function    //事件处理句柄
    hideDelay : Number    //隔多长时间自动隐藏,默认100(毫秒)
    hideOnClick : Boolean    //点击后自动隐藏,默认为真
}

BaseItem( Object config )
构造

setHandler( Function handler, Object scope ) : void
设置处理句柄handler

事件:
activate : ( Ext.menu.BaseItem this )
click : ( Ext.menu.BaseItem this, Ext.EventObject e )
deactivate : ( Ext.menu.BaseItem this )


Ext.menu.Adapter
这个类是为了支持将非BaseItem子类的容器转换为支持baseitem的适配器,除了构造,与BaseItem无异
Adapter( Ext.Component component, Object config ),可以自己再继承它做点实用的事, 他的两个子类更好用

Ext.menu.ColorMenu
提供颜色选择
Ext.menu.DateItem
提供日期选择

Ext.menu.Item
是BaseItem的另一个实用子类,提供一般的菜单项,支持菜单项之间的相互关系
config{
    canActivate : Boolean
    href : String
    hrefTarget : String
    icon : String    //默认Ext.BLANK_IMAGE_URL,建议更改,extjs.com的确太慢了
    iconCls : String
    itemCls : String
    showDelay : Number
    text : String
}
方法
Item( Object config )
构造

setIconClass( String cls ) : void
setText( String text ) : void

Ext.menu.CheckItem
继承自Item,前面带有选择框的菜单项
config{
    checked : Boolean
    group : String
    groupClass : String    //默认x-menu-group-item
    itemCls : String
}

方法
CheckItem( Object config )
构造

checkHandler( Ext.menu.CheckItem this, Boolean checked ) : void
选择处理方法

setChecked( Boolean checked, [Boolean suppressEvent] ) : void
设置选择状态

事件
beforecheckchange : ( Ext.menu.CheckItem this, Boolean checked )
checkchange : ( Ext.menu.CheckItem this, Boolean checked )

Ext.menu.Separator
继承自item,间隔项

Ext.menu.TextItem
继承自item,文本项
config{
    hideOnClick : Boolean
    itemCls : String
    text : String
}

下面的示例从ext官方而来,继续简单的修改,只有menu相关部分.同样也都很简单

  Ext.QuickTips.init();

    
// 日期选择项点击事件
     var  dateMenu  =   new  Ext.menu.DateMenu( ... {
        handler : 
function (dp, date) ... {
           Ext.MessageBox.alert(
' Date Selected ' , String.format( ' You chose {0}. ' , date.format( ' M j, Y ' )));
        }

    }
);

   
    
var  colorMenu  =   new  Ext.menu.ColorMenu( ... {
        handler : 
function (cm,color) ... {
           Ext.MessageBox.alert(
' Color Selected ' , String.format( ' You chose #{0}. ' , cm.palette.value));
        }

    }
);

    
var  menu  =   new  Ext.menu.Menu( ... {
        id: 
' mainMenu ' ,
        items: [
            
... {
                text: 
' I like Ext ' ,
                checked: 
true ,      
                checkHandler: onItemCheck
            }
,
            
... {
                text: 
' Ext for jQuery ' ,
                checked: 
true ,
                checkHandler: onItemCheck
            }
,
            
... {
                text: 
' I donated! ' ,
                checked:
false ,
                checkHandler: onItemCheck
            }
' - ' ... {
                text: 
' Radio Options ' ,
                menu: 
... {       
                    items: [
                        
' <b class="menu-title">Choose a Theme</b> ' ,
                        
... {
                            text: 
' Aero Glass ' ,
                            checked: 
true ,
                            group: 
' theme ' ,
                            checkHandler: onItemCheck
                        }
... {
                            text: 
' Vista Black ' ,
                            checked: 
false ,
                            group: 
' theme ' ,
                            checkHandler: onItemCheck
                        }
... {
                            text: 
' Gray Theme ' ,
                            checked: 
false ,
                            group: 
' theme ' ,
                            checkHandler: onItemCheck
                        }
... {
                            text: 
' Default Theme ' ,
                            checked: 
false ,
                            group: 
' theme ' ,
                            checkHandler: onItemCheck
                        }

                    ]
                }

            }
, ... {
                text: 
' Choose a Date ' ,
                iconCls: 
' calendar ' ,
                menu: dateMenu
            }
, ... {
                text: 
' Choose a Color ' ,
                menu: colorMenu
            }

        ]
    }
);

    
var  tb  =   new  Ext.Toolbar();
    tb.render(Ext.getBody());

    tb.add(
... {
            text:
' Button w/ Menu ' ,
            iconCls: 
' bmenu ' ,   //  <-- icon
            menu: menu   //  assign menu by instance
        }

    );

    menu.addSeparator();
    
//  Menus have a rich api for
     //  adding and removing elements dynamically
     var  item  =  menu.add( ... {
        text: 
' Dynamically added Item '
    }
);
    
//  items support full Observable API
    item.on( ' click ' , onItemClick);

    
//  items can easily be looked up
    menu.add( ... {
        text: 
' Disabled Item ' ,
        id: 
' disableMe '    //  <-- Items can also have an id for easy lookup
         //  disabled: true   <-- allowed but for sake of example we use long way below
    }
);
    
//  access items by id or index
    menu.items.get( ' disableMe ' ).disable();
   
    
// 这个增加子菜单的方法照猫画虎学的,至于add的到底是个什么?getXType得不到,item有私有的属性menu?
     var  ele = menu.add( ... {
        text:
' submit ' ,
        menu:
... {
            items:[
                
... {text: ' submenu1 ' ,handler:onItemClick} ,
                
... {text: ' submenu2 ' ,handler:onItemClick}
            ]
        }

    }
);
   


  

    
//  functions to display feedback
     function  onButtonClick(btn) ... {
        Ext.MessageBox.alert(
' Button Click ' ,String.format( ' You clicked the "{0}" button. ' , btn.text));
    }


    
function  onItemClick(item) ... {
        Ext.MessageBox.alert(
' Menu Click ' , String.format( ' You clicked the "{0}" menu item. ' , item.text));
    }


    
function  onItemCheck(item, checked) ... {
        Ext.MessageBox.alert(
' Item Check ' , String.format( ' You {1} the "{0}" menu item. ' , item.text, checked  ?   ' checked '  :  ' unchecked ' ));
    }


    
function  onItemToggle(item, pressed) ... {
        Ext.MessageBox.alert(
' Button Toggled ' , String.format( ' Button "{0}" was toggled to {1}. ' , item.text, pressed));
    }

分享到:
评论

相关推荐

    extjs学习资源

    - **菜单和工具栏**: `Ext.menu.Menu`和`Ext.Toolbar`提供了创建上下文菜单和工具栏的功能。 #### 四、总结 - 以上内容详细介绍了Extjs的核心API及其应用场景,对于初学者来说是一份非常宝贵的学习资料。通过对...

    EXT_JS实用开发指南

    其中,基本组件包括Box、Button、ColorPalette、Component、Container等,工具栏组件如Toolbar、TBButton,而表单及元素组件则涉及Editor、EditorGridPanel等。 EXT JS的强大之处在于它丰富的组件库和高度可定制性...

    extjs核心api详解

    八、Ext.menu.Menu与Ext.Toolbar 这两部分分别介绍了extjs的菜单组件和工具栏组件。它们提供了丰富的api来创建多级菜单和工具栏,支持图标、文本、分隔符、快捷键等特性,极大地增强了用户界面的功能性和可用性。 ...

    Extjs的学习资料

    - `Ext.Toolbar`:提供顶部或底部的工具栏,可以放置按钮、分割线、菜单等元素。 - `Ext.widgets.form`:涉及表单组件,如TextField、ComboBox、CheckboxGroup等,用于用户输入。 - `Ext.widgets.grid`:关于网格...

    ext教程1.pdf

    - **工具栏组件**:`Ext.Toolbar`(工具栏)、`Ext.SplitButton`(可分裂的按钮)等。 - **表单及元素组件**:`Ext.Editor`(编辑器)、`Ext.grid.EditorGridPanel`(可编辑的表格)等。 EXTJS 的强大之处在于它...

    Ext 2-使用Widgets

    8. **使用工具(Tools)**:可能涉及到Ext JS提供的工具条(Toolbar)和工具按钮(Tool),这些小图标通常位于组件头部,提供额外的功能操作。 9. **最佳实践**:分享一些在开发过程中提高性能、代码可维护性和用户...

    EXT 中文手册内具实例代码

    - **Widgets**:是 Ext 提供的一系列预定义的 UI 控件,如按钮、文本框、下拉列表等。 - **消息框 MessageBox**:提供了一个简单的方式来显示提示信息、警告或确认对话框。 - 示例:`Ext.MessageBox.alert('标题', ...

    EXT 中文手册.pdf

    - **组件介绍**:EXT提供了多种内置组件(Widgets),这些组件可以用来构建复杂的用户界面。常见的组件包括消息框(MessageBox)、网格(Grid)、Tab面板等。 - **消息框(MessageBox)**:用于弹出对话框,可以显示...

    ExtJS 3.2的中文参考手册

    - **分页栏 (Toolbar)**: 可以通过配置Grid的底部工具栏来实现分页功能,例如:`grid.bbar = new Ext.PagingToolbar({ store: store, displayInfo: true, displayMsg: '显示 {0} - {1} 条记录,共 {2} 条记录', ...

    Ext框架简介.ppt

    控件,或称作小部件(widgets),是EXT中的可视化组件,如窗口、面板、表格等,它们构成了EXT应用的主体。实用工具 Utils 包含各种辅助函数,帮助开发者更高效地编写代码。 EXT的核心组件包括但不限于以下几种: 1. ...

    extjs核心api详解.doc

    7. **Ext.widgets**:EXTJS的组件库是其另一大亮点。这里包含了各种用户界面元素,如按钮(Button、SplitButton、CycleButton)、表单组件(form上下两部分)、菜单(Menu)、工具栏(Toolbar)等。这些组件提供了...

    ext js 中文手册

    Ext JS支持多种类型的菜单项,如文本菜单项、分隔符、复选框菜单项等,并且支持将菜单项添加到工具栏(Toolbar)中。 模板(Templates)是Ext JS用来处理HTML内容的机制,它允许开发者在JavaScript中编写HTML代码,...

    ext中文教程

    - **更多组件**:除了 MessageBox 和 Grid 外,Ext 还提供了大量的其他组件,如 Panel、Form、Toolbar 等,可以满足不同场景的需求。 #### 8. 使用 Ajax - **发送请求**:使用 `Ext.Ajax.request` 方法发起异步...

    EXT_JS实用开发指南_个人整理笔记.docx

    - **控件(widgets)**:提供各种可视化组件,如面板、表格、树、窗口等,它们构建在底层API之上,位于`widgets`子目录中。 - **实用工具(Utils)**:包含各种便利的工具函数,如数据格式化、JSON处理、日期管理...

    EXT_JS实用开发指南_个人整理笔记

    - **控件(Widgets)**:EXT_JS提供了丰富的可视化组件,如面板、表格、树、窗口等,它们基于底层API构建。 - **实用工具(Utils)**:提供了数据处理、JSON编码解码、日期管理、Ajax请求、Cookie管理等辅助功能。...

    EXTJS讲解个人项目经历

    - **控件(widgets)**:EXTJS提供了大量的可视化组件,如面板、表格、树、窗口等,它们都基于底层API构建。 - **实用工具(Utils)**:EXTJS提供了各种实用工具,如数据处理、JSON操作、Ajax请求、日期和数组管理...

    extjs4.0技术

    #### 六、UI Widgets Extjs4.0 提供了大量的UI组件,包括但不限于按钮、面板、表格等。 #### 七、布局管理 1. **Fit 布局**: - 子元素会自动填充满父容器的空间。 - 适用于需要响应式设计的情况,例如一个 ...

    EXTJS实用开发指南

    - 工具栏组件:Toolbar、TBBUTTON、TBFill、TBItem、TBSeparator等。 - 表单及元素组件:Editor、EditorGridPanel、GridPanel、PagingToolbar、Panel、ProgressBar、SplitButton、TabPanel、TreePanel、Viewport、...

    EXTJS实用开发指南_个人整理笔记.pdf

    2. 工具栏控件:Toolbar、Toolbar.Button、Toolbar.Fill、Toolbar.Item等。 四、高级EXTJS应用 EXTJS提供了许多高级功能,如: 1. 数据绑定:EXTJS提供了数据绑定的功能,可以将数据绑定到控件上。 2. 事件处理:...

    gxt 相关资料

    - ext-gwt-widgets-nnn.jar:可选的额外组件库,包含更多特定用途的控件。 nnn代表版本号,例如3.0.1。确保所有jar包与你的GWT版本兼容。 三、GXT组件讲解 GXT提供了丰富的组件库,包括但不限于: 1. 表格组件...

Global site tag (gtag.js) - Google Analytics