Extjs4 类的定义和扩展实例

一般定义方式,注意方法和函数的添加方式不同。(添加函数只能用override方式添加不知为什么,有知道的,请搞之。)
定义一个类,并给他一个方法

复制代码 代码如下:

Ext.define('Simple.Class',{
welcome:function(){
alert('Welcome to the app');
}
});

使用Ext.override方法对已有类进行重载并添加函数

复制代码 代码如下:

Ext.override(Simle.Class,{
goodBye:function(){
alert('Goodbye');
},
funAll:function(){
this.welcome();
this.goodBye();
}
});

实例化类对象,并调用新的方法

复制代码 代码如下:

var app = new Simple.Class();
app.runAll(); //Welcome to the app Goodbye

重载的另一种写法

复制代码 代码如下:

Simple.Class.override({
// New members...
});

实际例子:

复制代码 代码如下:

Ext.define('MyButton',{
extend:'Ext.Action',
initComponent: function(){
var me = this;
var initEnable = true; //初始权限
}
});
Ext.override(MyButton,{
mysetenable:function(b){ //增加自定义函数设置按钮权限
if ( this.initEnable ) {
if (b){
this.enable();
}
else{
this.disable();
}
}
else{
this.disable();
}
}
});

例子2:

复制代码 代码如下:

Ext.define('PO_Head_Add_Panel', {
extend: 'Ext.form.Panel',
alias: 'widget.PO_Head_Add_Panel',
//height:400,
//width:600,
frame: true,
layout: 'anchor', //该form分为两列
bodyPadding: 5, //偏移5px
//baseCls: "x-plain", //指定使用系统背景色
//defaults: { anchor: "95%", msgTarget: "side" },
// anchor: '100%',
defaults:{//统一设置表单字段默认属性
//autoFitErrors : false,//展示错误信息时是否自动调整字段组件宽度
labelSeparator :':',//分隔符
labelWidth : 60,//标签宽度
//width : 150,//字段宽度
allowBlank : false,//是否允许为空
//blankText : '不允许为空', //若设置不为空,为空时的提示
labelAlign : 'right',//标签对齐方式
msgTarget :'qtip' //显示一个浮动的提示信息
//msgTarget :'title' //显示一个浏览器原始的浮动提示信息
//msgTarget :'under' //在字段下方显示一个提示信息
//msgTarget :'side' //在字段的右边显示一个提示信息
//msgTarget :'none' //不显示提示信息
//msgTarget :'errorMsg' //在errorMsg元素内显示提示信息
},
items:[{
xtype:'combobox',
name: 'ToAddress',
labelWidth:70,
width:600,
queryMode: 'local',
store:TmpAddressStore,
displayField: 'AddrName',
valueField: 'AddrName',
editable : false,// 是否允许输入
forceSelection : true,// 必须选择一个选项
msgTarget: 'side',
allowBlank: false, //是否允许空值
fieldLabel: '送货地址'
},{
xtype:'textfield',
name: 'HRemark',
labelWidth:70,
width:600,
msgTarget: 'side',
allowBlank: false, //是否允许空值
fieldLabel: '备注'
}],
initComponent: function(){
var me = this;
var PoType = ''; //可以定义属性 obj.PoType 使用
var TmpHeadRec = Ext.create('PO_HeadData');

Ext.apply(this, {
buttons: [{
text: '保存',
handler:function(){
if (me.getForm().isValid()) { //判断提交的数据是否符合正则表达式
//保存功能
}
}
}, {
text: '取消',
handler: function () {
me.ownerCt.hide();
}
}],
SetFormValue:function(){ //自定义方法 obj.SetFormValue() 方式调用
me.TmpHeadRec = HeadStore.getAt(0);
me.getForm().findField('POType').setValue(me.TmpHeadRec.get('POType'));
me.getForm().findField('PONum').setValue(me.TmpHeadRec.get('PONum'));
}
});

this.callParent(arguments);
}
});

时间: 2024-08-27 22:33:09

Extjs4 类的定义和扩展实例的相关文章

Extjs4 类的定义和扩展实例_extjs

一般定义方式,注意方法和函数的添加方式不同.(添加函数只能用override方式添加不知为什么,有知道的,请搞之.) 定义一个类,并给他一个方法 复制代码 代码如下: Ext.define('Simple.Class',{ welcome:function(){ alert('Welcome to the app'); } }); 使用Ext.override方法对已有类进行重载并添加函数 复制代码 代码如下: Ext.override(Simle.Class,{ goodBye:functio

php类的定义与继承用法实例_php技巧

本文实例讲述了php类的定义与继承用法.分享给大家供大家参考.具体如下: <?php /* * class */ class people { public $name; public $age; function __construct($namec,$agec) { $this->name = $namec; $this->age = $agec; } protected function getmessage() { return "姓名:".$this->

通过自定义ServiceHost实现对WCF的扩展[实例篇]

在<原理篇>中我们谈到了通过自定义ServiceHost对WCF进行扩展的本质,以及在IIS/WAS寄宿情况下ServiceHostFactory的作用.接下来通过一个具体的例子来演示如何通过WCF扩展实现以Unity为代表的IoC框架的集成,以及应用该扩展的ServiceHost和ServiceHostFactory如何定义.[源代码从这里下载] 目录 一.IoC/DI简介 步骤一.自定义InstanceProvider:UnityInstanceProvider 步骤二.创建服务行为:Un

通过“四大行为”对WCF的扩展[实例篇]

为了让读者对如何利用相应的行为对WCF进行扩展有个深刻的认识,在这里我提供一个简单的实例演示.本实例模拟的场景是这样的:我们创建一个支持多语言的资源服务,该服务旨在为调用者提供基于某种语言的文本型资源.但是,我们不希望客户端在每次调用服务的时候都显式地制定具体的语言,而是根据客户端服务调用线程表示语言文化的上下文来自动识别所需的语言.[源代码从这里下载] 要让资源服务具有识别语言文化的能够,我们必须将客户端服务调用线程当前的语言文化信息(具体来说就是Thread的两个属性:CurrentUICu

JavaScript 类的定义和引用 JavaScript高级培训 自定义对象_js面向对象

一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在Javascript中,已经存在一些标准的类,例如Date.Array.RegExp.String.Math.Number等等,这为我们编程提供了许多方便.但对于复杂的客户端程序而言,这些还远远不够. 与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很

C++的类和类的定义

在面向对象的程序设计中,有经常接触类.对象等专业名词:到底什么是类.什么是对象呢?在程序又是怎样运用呢?类是面向对象程序设计的核心,它实际是一种新的数据类型,也是实现抽象类型的工具,因为类是通过抽象数据类型的方法来实现的一种数据类型.类是对某一类对象的抽象:而对象是某一种类的实例,因此,类和对象是密切相关的.没有脱离对象的类,也没有不依赖于类的对象. 什么是类 类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体.这有点像C语言中的结构,唯一不同的就是结构没有定义

C++设计类不能被继承的方法实例讲解

 在Java 中定义了关键字final,被final修饰的类不能被继承,C++中如何实现,下面我们来看一个例子 首先想到的是在C++中,子类的构造函数会自动调用父类的构造函数.同样,子类的析构函数也会自动调用父类的析构函数.要想一个类不能被继承,只要把它的构造函数和析构函数都定义为私有函数.那么当一个类试图从它那继承的时候,必然会由于试图调用构造函数.析构函数而导致编译错误.   可是这个类的构造函数和析构函数都是私有函数了,怎样才能得到该类的实例呢?可以通过定义静态来创建和释放类的实例.基于这

c++-为什么在类中定义没有定义默认构造函数的类类型变量通过编译了?

问题描述 为什么在类中定义没有定义默认构造函数的类类型变量通过编译了? class T { public: T(int i) :_i(i) {} private: int _i; }; class U { private: T t; }; 如果定义了一个构造函数不是就会取消合成的默认构造函数吗? 可以定义不可以赋值是吧?刚才发现 const int ci; int &ri; 也通过编译了. 解决方案 语法这么规定的,因为t是成员变量 如果你写在函数里 main() { T t; } 那就报错了.

《数据结构与算法:Python语言描述》一2.3类的定义和使用

2.3类的定义和使用 前面给出了两个有理数类的定义,帮助读者得到一些有关Python类机制的直观认识.本节将介绍Python类定义的进一步情况.本书中对类的使用比较规范,涉及的与Python类定义相关的机制不多,只需要有最基本的了解就可以学习后面内容.另一方面,本书的主题是数据结构和算法,并不计划全面完整地介绍Python语言的面向对象机制和各种使用技术.本节主要想给读者提供一些可参考的基本材料,因此,下面有关Python语言的相关介绍将限制在必要的范围内,供读者参考,不深入讨论.有关Pytho