1.需求:在页面加载完成后,html代码生成后做一些操作
afterRender方法 此方法可能不能直接获得html的dom
暂时找到 boxready监听 可以实现获得html的dom
2.添加简单的遮罩
me.body.mask(“遮罩显示”);
me.body.unmask();
3.设置不可用(可用)
me.setDisabled(true/false);
4.combox下拉框获得当前选中的数据行(不只是显示的文字和隐藏的id,其他的数据也能获得,就是store中的record)
combox.displayTplData[0];
5.border布局下方覆盖左右2边的问题
设置下方的 weight属性为-100
6.组件的焦点事件
如果想要触发要先写Ext.FocusManager.enable();这句话
原因:
FocusManager负责在全局范围:
1.管理组件焦点
2.提供基本的键盘导航功能
3.(可选的) 为获得焦点的组件提供焦点环或者焦点框的视觉提示
激活FocusManager, 只需调用Ext.FocusManager.enable();。反过来, 再调用Ext.FocusManager.disable();可取消激活FocusManager。 FocusManager默认不可用。
传递true或者{focusFrame: true}给enable可以启用可选的焦点框。
FocusManager的另外一个特点是提供基本的在Ext.container.Container范围内的键盘焦点 导航。 和子组件Ext.Component之间的导航。
7.弹出提示信息之后文本框获得焦点
Ext.Msg.show({
title: "错误信息",
msg: "提示信息",
icon: Ext.Msg.ERROR,
modal: true,
buttons: Ext.Msg.YES,
fn: function () {
textfield.focus(); //组件获得焦点
}
});
8 可以根据输入的简称自动匹配数据的下拉框(只验证了本地数据)
{
xtype: 'combo',
width: 100,
store: Ext.create('Ext.data.Store', {
fields: ['abbr', 'name'],
data: [
{ "abbr": "AL", "name": "bsabama" },
{ "abbr": "AK", "name": "bdaska" },
{ "abbr": "AZ", "name": "bfizona" }
]
}),
queryMode: 'local', //本地查询,remote为向后台发送请求查询
displayField: 'name',
valueField: 'abbr',
listeners: {
//这个监听是主要的
beforequery: function (e) {
var combo = e.combo;
combo.collapse();
if (!e.forceAll) {
var value = e.query; //这是输入的简称
if (value != null && value != '') {
console.log(value);
//这里让store去过滤数据
combo.store.filterBy(function (record, id) {
var text = record.get('abbr').toLowerCase();
// 用自己的过滤规则,如写正则式
return (text.indexOf(value.toLowerCase()) != -1); //返回true就会显示这条记录
});
} else {
combo.store.clearFilter();
}
combo.onLoad();//不加第一次会显示不出来
combo.expand();
return false;
}
},
//通过select事件拿到选中的数据
select: function (m,r) {
console.log(m,r);
}
}
}
9.grid列表多选列表全选按钮无法清除勾选的问题
var hd_checker = me.getEl().select('div.x-unselectable');
if (hd_checker.hasCls('x-grid-hd-checker-on')) {
hd_checker.removeCls('x-grid-hd-checker-on');
}
me.getSelectionModel().clearSelections();
me.getView().refresh();