项目开发中遇到的extjs常见问题
1.把一个汉字转成两个字符计数
Ext.getCmp('searchKeyWord').getValue().trim().replace(/[^\x00-\xff]/g, '**').length
项目开发中遇到的extjs常见问题
事件触发机制
l 给某一个控件添加事件。
obj.addEvents( {search : true });
l 给某一个事件添加处理函数
n 给一个对象或变量添加监听及对应得处理,可以在创建时,通过属性listener添加。
n 或者通过 obj.on(‘event’,function(){})
n 或者通过obj.addListener(“event”,function)
l 出发一个事件,params是要传给事件对应的处理函数的参数
Obj.fireEvent(‘eventName’,params)
工具栏
获取工具栏元素方法
var items = this.preview.topToolbar.items;
items.get('tab').enable();
items.get('win').enable();
Panel及子类
ViewPort
Viewpor代表整个浏览器的显示区域,会被渲染到html body中,并会随着浏览器显示区域大小自动改变。
Window
1. 创建属性一般设置
{ width : 500,
height : 300,
layout : 'fit',
constrain : true, 把窗口的显示位置限制在viewport中
constrainHeader : true,
items : this.form,
plain : true,
closeAction:’hide’
frame : true,
modal : true, 窗口显示时,把窗口以外的元素用一个样式遮盖
buttonAlign : 'center' 按钮居中
}
2. Beforeclose事件
当窗口关闭以前可以做一些操作,如检查窗口内部表单数据的改变与否
winObj.on('beforeclose', this.checkDirty, this);
3. 按钮的获取
要获取window的按钮
winObj.buttons
disableButton:function(){
for(i=0;i<this.buttons.length;i++)
this.buttons[i].disable();//hide()
},
enableButton:function(){
for(i=0;i<this.buttons.length;i++)
this.buttons[i].enable()//show();
}
MessageBox
1. 点击确认/取消后执行function
Ext.MessageBox.alert/confirm ("信息",msg,
function(button, text) {
//当confirm时 判断按钮
if (button == "yes")
//TODO something
}, this);
TabPanel
当页签改变的时候出一个处理函数
Ext.getCmp('tabpanel').on('tabchange',this.tabChange,this);
获取某一个页签,在页签中的给id 属性,通过id获取
Ext.getCmp('tabpanel').getItem('id