>  기사  >  웹 프론트엔드  >  Extjs4classes_extjs의 정의 및 확장 예

Extjs4classes_extjs의 정의 및 확장 예

WBOY
WBOY원래의
2016-05-16 17:30:481041검색

일반 정의 방식은 메소드와 함수가 다르게 추가되는 점 참고해주세요. (왜 오버라이드 모드에서만 함수를 추가할 수 있는지 모르겠습니다. 아시는 분은 꼭 해주세요.)
클래스를 정의하고 메소드를 부여하세요

코드 복사 코드는 다음과 같습니다:

Ext.define('Simple.Class',{
welcome:function(){
Alert('앱에 오신 것을 환영합니다');
}
})

Ext.override 메소드를 사용하여 기존 클래스를 오버로드하고 기능을 추가하세요
코드 복사 코드는 다음과 같습니다.

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


클래스 객체를 인스턴스화하고 새 메서드를 호출합니다.


코드 복사 var app = new Simple.Class();
app.runAll() //앱에 오신 것을 환영합니다


다른 방법 오버로딩 작성


코드 복사 코드는 다음과 같습니다. Simple.Class.override( {
// 신규 회원...
})


실제 예:


코드 복사 코드는 다음과 같습니다. 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', //양식은 두 개의 열로 나뉩니다.
bodyPadding: 5, //Offset 5px
//baseCls: "x-plain", //시스템 배경색을 사용하도록 지정
//defaults: { 앵커: "95%", msgTarget: "side" },
// 앵커: '100%',
기본값:{//양식 필드의 기본 속성을 균일하게 설정
//autoFitErrors: false,//오류 메시지를 표시할 때 필드 구성 요소 너비를 자동으로 조정할지 여부
labelSeparator:':',//Separator
labelWidth: 60,//레이블 너비
//width: 150,//필드 너비
allowBlank: false,//비워두어도 되는지 여부
//blankText: '허용되지 않음 to beempt', //비어 있지 않음으로 설정하면 비어 있을 때 프롬프트
labelAlign : 'right', // 라벨 정렬
msgTarget : 'qtip' // 플로팅 프롬프트 메시지 표시
// msgTarget : 'title' / /브라우저의 원래 부동 프롬프트 메시지 표시
//msgTarget:'under' //필드 아래에 프롬프트 메시지 표시
//msgTarget:'side' //오른쪽에 프롬프트 메시지 표시 필드
//msgTarget:'none' //프롬프트 정보를 표시하지 않음
//msgTarget:'errorMsg' //errorMsg 요소에 프롬프트 정보 표시
},
items:[{
xtype:'combobox',
이름: '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: 'Remarks'
}],
initComponent: function( ){
var me = this;
var PoType = ''; //
var TmpHeadRec = Ext.create를 사용하여 obj.PoType 속성을 정의할 수 있습니다. ('PO_HeadData');

Ext .apply(this, {
buttons: [{
text: 'Save',
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); 🎜>}
})

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.