前做过一阵的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的提示
<noscript class=”noticeDialog”><div>
< p>请开启浏览器的 JavaScript 支持!否则不能正常使用本系统<br>启用之后,刷新页面即可</p>
< /div></noscript>

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 即可,如:
<script type=”text/javascript” src=”<%=contextPath%>/public/js/ext-base.js”></script>
< script type=”text/javascript” src=”<%=contextPath%>/public/js/ext-all.js”></script>
< script type=”text/javascript” src=”<%=contextPath%>/public/js/ext-lang-zh_CN.js”></script>

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模式:<!DOCTYPE html
PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd“>

18、Html文档<script>标签中的js代码放在<![CDATA[和]]>之间,使xhtml验证时忽略中间的内容

19、JsonStore添加Record
var orgaListRecord = new Ext.data.Record.create([
{name: 'id_combo1'},
{name : 'name'}
]);
var orgaList = new Ext.data.JsonStore({
url: ‘./get_organisme.php’,
root: ‘orga’,
fields: orgaListRecord
});
orgaList.add([
new orgaListRecord({'id_combo1': 3,'name': 'Other'})
]);
orgaList.load({add: true}); // instead of orgaList.load();

20、数据加载前须判断是否有数据:
if (typeof(pn_zlfx_gp_mark_subjects)==”undefined” || typeof(pn_zlfx_gp_mark_subjects.data)==”undefined”)
pn_zlfx_gp_setting.store.removeAll();
else
pn_zlfx_gp_setting.store.loadData(pn_zlfx_gp_mark_subjects);

21、尽量将处理过程放在关键位置,减少重复代码

22、默认排序方式:sortDir

23、服务器返回的JSON数据字段用’或”括起来,避免与js关键词与保留字冲突

24、Ext.encode()出错,问题是json数据有问题

25、store增加totalProperty配置,可用store.getCount()获取

26、store中文排序异常问题,通过重载Ext.data.Store.prototype.applySort函数来解决

27、store.load()是异步操作,如果希望在数据载入后再执行操作,可以通过以下方式执行:
store.load({
callback: function (records) {
alert(store.getTotalCount());
}
});

28、 EXTJS items不能显示问题收藏
有时经常碰到添加items时不能显示,郁闷不得行~~
经不断测试可能有如下几个方法可以解决:
1)试添加:Layout:’fit’
2)若xtype为’panel’,可试添加:
listeners: {
‘activate’: function(p) {p.doLayout();}
,single:true
}
3)若xtype为’tabpanel’,可试添加:
layoutOnTabChange:true
总的来说是cmp.doLayout()问题….

29、Ext.ajax.request增加form和isUpload:true时,请求方式为enctype=”multipart/form-data”传值,asp中需特别解析

30、ComboBox增加mode:’local’配置来手动控制数据载入,同时可防止数据的二次加载

31、要使ComboBox手动输入的值能得到提交,需要增加ComboBox的Blur事件处理函数
onComboBoxBlur: function(field){
field.setValue(field.getRawValue());
}

32、Firebug显示所有Extjs组件事件
Ext.util.Observable.prototype.fireEvent = Ext.util.Observable.prototype.fireEvent.createInterceptor(function() {
console.log(arguments);
return true;
});

33、工具栏Toolbar内容的增删
var tb = this.gp.getTopToolbar();
// 删除工具栏内容
var i = tb.items.getCount();
while(i){
Ext.fly(tb.items.get(i).getEl()).remove();
tb.items.removeAt(i);
}
// 重新添加工具栏内容
tb.add(‘包括(’, this.cbgType, ‘)’);

34、Ext.ux.form.LovCombo不能设置forceSelection为true,否则当控件失去焦点时显示值会清空

35、IE下Ext.GridPanel的autoWidth或者layout:’fit’会将宽度拉的很长的解决办法:

var grid = new Ext.grid.GridPanel({

bodyStyle:’width:100%’,

autoWidth:true,

…….

});
36、Ext.GridPanel加了CellSelection后,如设置viewConfig:{forceFit:true}点击单元格会导致表格跳动
解决方案:http://www.extjs.com/forum/showthread.php?p=282928#post282928

37、ComboBox执行Filter第一次无效的解决是 增加lastQuery:” 配置

38、Panel内部高度自适应+自动出现滚动条,增加以下配置
,autoScroll: true
,style:”height:100%;”
,bodyStyle:”height:100%;”

39、某些情况下TabPanel里加载iframe第一次不显示,可在panel显示后重新设置一下iframe的src强制加载一遍

源地址:http://www.zhixing123.cn/jiaocheng/notebook-hard-disk-removal.html

转载于:https://www.cnblogs.com/kongbeiV/archive/2013/05/29/3105841.html

EXTJS开发过程遇到的一些问题的小结(转自麦田守望者)相关推荐

  1. 敏捷开发--实际工作流程梳理

    敏捷开发–工作流程梳理,让工作更效率 前言:说下我公司敏捷模式,发布周期工作流程和故事开发流程 先说下敏捷的相关概念: 敏捷简述: 敏捷开发是以用户的需求进化为核心,采用迭代.循序渐进的方法进行的软件 ...

  2. 构件组装-理论与技术

    第二章 相关理论与技术 本章主要介绍了本文研究的相关理论与技术,包括构件组装相关理论.SOA相关技术标准.OSGi相关技术标准.模型驱动相关技术标准.代码生成相关概念与技术以及领域工程相关理论,这些理 ...

  3. [计算机毕设]基于java的超市综合管理信息系统设计与实现(项目报告+源代码+翻译)

    项目说明报告  基于java的超市综合管理信息系统设计与实现 由于科技的发展,信息量的剧烈膨胀,企业要想适应信息社会迅猛发展的浪潮,就必须借助于Internet构建新的运营模式,连锁超市已经成为很多企 ...

  4. 软件项目开发过程中主要遇到的核心问题小结

    最近在北京组织管理某银行的现金管理系统项目的开发,对软件项目开发过程中遇到的问题进行一些心得体会小结,怕时间长了没及时写下来时间久了被遗忘了,现在趁项目还在开发过程,把体会相对深刻时,感受到的一些问题 ...

  5. 本体学习方法及开发过程小结

    转载自http://blog.sina.com.cn/s/blog_3f6815310101rvrk.html 近期学习了一点儿有关本体的东西,当中遇到不少问题因而求助于网络,却发现问问题的人多,正确 ...

  6. ExtJs 备忘录(9)—— Ext常用属性、方法小结 [系列完]

    一.Ext 1.1 Ext.isEmpty(v, allowBlank) //是否为空[链接] 1.2 Ext.isArray(v) //是否为数组集合 1.3 Ext.isPrimitive(v) ...

  7. extjs 提交表单给php,Extjs表单常见验证小结_extjs

    //放在onReady的function(){}中 Ext.QuickTips.init(); //为组件提供提示信息功能,form的主要提示信息就是客户端验证的错误信息. Ext.form.Fiel ...

  8. 【阶段小结】协同开发——这学期的Git使用小结

    [阶段小结]协同开发--这学期的Git使用小结 一.Git简介 1. Git简单介绍 2. Git工作流程以及各个区域 3. Git文件状态变化 二.Git安装&Git基本配置 三.个人踩坑 ...

  9. 开发日记-20190424 关键词 阶段性开发心得和小结

    Android开发学习小结 -图片因为是以前下下来的,所以出处真的记不太清楚了,如果有清楚出处的欢迎指正,我加上去,另外,这只是我的个人学习小结,并不是特地用于分享的,如果观赏有任何的不悦,还请谅解. ...

最新文章

  1. win10更新后程序路径盘符变成*星号解决方法
  2. JAVA_OA(十四):SSM练手项目bug-JSP页面传递参数的编码问题
  3. 小程序加入人脸识别_人脸识别微信小程序案例:11.案例概述
  4. c语言位运算负数的实例_0基础学习C语言第三章:位运算
  5. Django REST framework 版本
  6. SpringBoot2 整合JTA组件,多数据源事务管理
  7. HUE与Zookeeper的集成
  8. 连线杂志:史上最强的恶意软件Stuxnet揭秘
  9. 使用Apache commons-pool2实现高效的FTPClient连接池的方法
  10. 基于ThinkPHP6.0 - 宝塔搭建漫画CMS管理系统源码实测
  11. 微信文件没下载过期了
  12. [python]python的注释格式
  13. 抖快齐聚短剧战场,是加重“同质化”还是搅动“视频格局”?
  14. 文献阅读与写作(一)
  15. db2和相关驱动的下载
  16. linux系统下如何修改开机图片,Ubuntu Kylin下修改登录背景,用户头像,开机动画及自动更换壁纸...
  17. MYSQL索引原理,优化SQL
  18. Emoji处理方式大起底
  19. python如何把文字类型转换成时间类型并求间隔日期
  20. 图片压缩软件电脑版源码下载(开源版)

热门文章

  1. appium无法定位元素,TouchAction坐标定位工具
  2. Oracle数据库大作业
  3. Civil 3d 之枚举 SpiralType
  4. numpy.arctan, math.atan, math.atan2的区别
  5. 关于递归删除链表结点时为什么不会出现断链问题
  6. 月薪不过万郑州程序员的真实生活
  7. 扫盲serverless
  8. LibreOJ 2060 食物链
  9. 百度网盘简易下载工具介绍
  10. 光驱动器类有哪些最新发表的毕业论文呢?