ExtJs开发总结
之前做过一阵的ExtJs开发,从最傻的符号问题,到后来的渲染问题都碰到过。下面是个人开发过程中做的一些总结,多是问题的应对:
1、引入js和css文件时注意文件的路径问题;
2、导入ext-base.js后注意设置Ext.BLANK_IMAGE_URL的值(透明图片s.gif位置);
3、IE提示“缺少标识符,字符串或数字”错误,为配置时 “}”前多了逗号,且所处位置在Ext.onReady在同一个js文件
4、IE提示变量未定义,一般为有语法错误,如多余了”,”等
5、“无效字符”错误,可能是将”,”打成了”,”了
6、”缺少’}'”错误,问题是多个参数之间缺少了”,”导致
7、加载文件较多时,使用ExtJs可做一个加载提示
8、ext-base.js引入必须在ext-all.js之前
9、Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
初始化Ext状态管理器,在Cookie中记录用户的操作状态,如果不启用,象刷新时就不会保存当前的状态,而是重新加载
如果窗口中有用可拖动面板的话,你在拖动后如果启动了Ext.state.Manager.setProvider(new Ext.state.CookieProvider()),就算刷新后面板仍然会在你拖动后的位置。如果不启用的话是不是就会按照默认的排列方式排列
10、对浏览器禁用javascript的提示
11、TabPanel中放置复杂组件时,注意需要设置TabPanel的Width
12、extjs中文字体在firefox里显示偏小的问题,解决方法是再创建一个名为ext-patch.css的css文件,内容见http://www.phpchina.com/html/78/78-28624.html
13、中文化问题,在 ext-all.js 后面,挂上 ext-lang-zh_CN.js 即可,如:
14、ComboBox加载后自动选择第一项
var pn_zlfx_cbb_grade = new Ext.form.ComboBox({
displayField: ‘name’,
valueField: ‘id’,
triggerAction: ‘all’,
width: 80,
lazyInit: false,
mode: ‘local’,
editable: false,
forceSelection: true,
store: new Ext.data.JsonStore({
url: SITE_URL+’get_zlfx.asp?grade_id=0′,
fields: ['id', 'name'],
root: ‘data’,
autoLoad: true,
listeners:{
load: function(store, records, options){
if (records.length != 0){
pn_zlfx_cbb_grade.setValue(records[0].data.id);
}
}
}
})
15、JsonStore排序:sortInfo: {field: “name”, direction: “ASC|DESC”}
16、Extjs类的配置属性是不能被动态配置的,就如同上面这样的写法,当然,可能可以通过调用或设置某些公共的方法和属性来改变这些配置属性,但不能直接设置.
17、xhtml strict模式: PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd“>
18、Html文档