学extjs笔记 -- David Chen

简介: 以下是学习过程中记下来的一些小技巧,一定会有错,不保证全对,因为我也刚接触,只是将我的经验列一下.1) 如果组件之间嵌套比较多的话,外面的Contaner 应尽量不要使用的 renderTo的属性来加载到某个div的id中,应尽量在定义了Contaner后,用obj.render('id') 这个方面来加载组件,可以减少错误2) 最好在最外层的Contaner组件(不是页面html,是extjs组件)定义with,不用定义height, 然后里面的一些组件比如panel等可以定义autoWidth: true, autoHeight: true, 就可以使用整个显示自动适应了。
以下是学习过程中记下来的一些小技巧,一定会有错,不保证全对,因为我也刚接触,只是将我的经验列一下.
1) 如果组件之间嵌套比较多的话,外面的Contaner 应尽量不要使用的 renderTo的属性来加载到某个div的id中,
应尽量在定义了Contaner后,用obj.render('id') 这个方面来加载组件,可以减少错误

2) 最好在最外层的Contaner组件(不是页面html,是extjs组件)定义with,不用定义height, 然后里面的一些组件
比如panel等可以定义autoWidth: true, autoHeight: true, 就可以使用整个显示自动适应了。

3) 要用到鼠标移上后出现提示框的都要先执行这句 Ext.QuickTips.init();

4) 注意 Ext.onReady 的使用

5) 如果有全局函数或全局的属性,不要放到onReady里面,即使只有onReady里面的对象调用了某个function,不然会提示
函数未定义,在onReady外定义全局函数,如果函数用到某个对象,可以用Ext.getCmp来取得ExtComponent,同样的,
即使是全局变量也一样,如果有iframe要调用parent中的变量,那更加要注意,这个变量只能定义在onReady外面,而
且该变量的赋值不能在onReady的结束处用getCmp等来赋值,要在某个具体的动作才赋值,比如按纽点击等。

6) 如果TabPanel有tab是用html: '<iframe src=' 来载入页面,但是要在iframe的页面中关闭TabPanel中
的某一个tab,可以使用如下的方法实现
TabPanel所以页面,定义一个全局变量 var tabPanel = null; 然后在 Ext.onReady 中给这个 变量赋
值,那么在iframe页面就可以通过 parent.tabPanel来取得这个变量了,然后再调用 tabPanel.remove('')
就可以删除TabPanel中的某一个tab

7)
Ext.get( 'htmlId' ); // 和document.getElementById('');不一样,返回的是Element
Ext.get( 'htmlId' ).dom; // 和document.getElementById('');一样,返回的是HTMLElement
Ext.getCmp( 'cmpId' ); // 返回的是 Ext.Component
Ext.isEmpty( Mixed value ); // 判断是否是空,包括空字符串
Ext.num( Mixed value, Number defaultValue ); // 判断是否是数字,不是就返回defaultValue
Ext.id( [Mixed el], [String prefix] ); // 生成一个唯一的id,
// 包 Ext.util.Format , 包括多种的格式化函数

8)
render();
// 空参数,可以使组件的子组件,或包含的panel等复位,不包括孙组件
// 比如viewport中的panel拖放后,调用后,panel会回到原来的地方

9)
bodyStyle: 'width:100%', 定义组件宽度100%
viewConfig: { forceFit: true }, // 如果grid的column指定了width的值,最好使用这个强制宽度
layout: 'fit',
iconCls: '', //用这个可以控制panel的title与左边框的距离

10)
用layout:'table'时记住要指明一下
layoutConfig: {
// The total column count must be specified here
columns: 3
},

11)
使panel自动适应面板的方法
首先定义一个 viewPort( {layout: 'border', items: []} ), 然后在items中添加一个
panel( {region: 'center', layout: 'fit', items:[]} ), 然后再在panel的items中添加
一个gridPanel( {autoHeight: true, layout: 'fit'} ), 这样就可以了
以下这个代码是非ViewPort使Panel自适应代码:
var panel = new Ext.Panel({
id: 'subpanel',
layout: 'column',
frame: true,
layoutConfig: { columns: 2 },
items: [
{ columnWidth: .5, layout: 'fit', items: [ tabpanel ] },
//tabpanel中不要指定width,但可以autoHeight: true, 但不能autoWidth: true,
{ columnWidth: .5, layout: 'fit', html:'<img id="imgpic" src="" style="width: 160px; height: 80px;" />' }
]
});

12)
{contentEl:'tab1', title:'Tab 1'},
// contentEl 一般是页面中有一个div,id为tab1, 那么当前的panel会自动将该div做为子元素纳入管理


13)js动态组装json



var datacolumn= [];
for (var i = 0; i < colcount; i++) {
 datacolumn.push(['value'+i,'text'+i]);
}
var storecolumn = new Ext.data.SimpleStore({
 fields : ['value', 'text'],
 data : datacolumn
});
相关文章
|
测试技术 UED Python
App自动化测试:高级控件交互技巧
Appium 的 Actions 类支持在移动应用自动化测试中模拟用户手势,如滑动、长按等,增强交互性测试。ActionChains 是 Selenium 的概念,用于网页交互,而 Actions 专注于移动端。在Python中,通过ActionChains和W3C Actions可以定义手势路径,例如在手势解锁场景中,先点击设置,然后定义触点移动路径执行滑动解锁,最后验证解锁后的元素状态。此功能对于确保应用在复杂交互下的稳定性至关重要。
|
JSON JavaScript 数据格式
jwt-auth插件实现了基于JWT(JSON Web Tokens)进行认证鉴权的功能。
jwt-auth插件实现了基于JWT(JSON Web Tokens)进行认证鉴权的功能。
358 1
|
区块链 安全 存储
带你读《区块链工程实践 行业解决方案与关键技术》之二:电力市场交易结算智能合约
本书是一部能全方位指导区块链项目落地的实操性著作。通过5个经典的行业案例,从总体设计、业务设计、功能接口设计、架构设计这4个维度详细讲解了如何构建一个完整的区块链行业解决方案,同时讲解了实现每个解决方案需要的关键技术和方法。
|
机器学习/深度学习 数据可视化 vr&ar
数据分享|SAS与eviews用ARIMA模型对我国大豆产量时间序列预测、稳定性、白噪声检验可视化
数据分享|SAS与eviews用ARIMA模型对我国大豆产量时间序列预测、稳定性、白噪声检验可视化
|
10月前
|
机器学习/深度学习 算法 量子技术
《深度揭秘:拉普拉斯平滑在朴素贝叶斯算法中的关键作用与参数选择之道》
朴素贝叶斯算法在文本分类、情感分析等领域广泛应用,但常遇零概率问题,即某些特征从未与特定类别同时出现,导致条件概率为零,影响模型准确性。拉普拉斯平滑通过在计数上加一小正数(如α=1),避免了零概率问题,提升了模型的稳定性和泛化能力。选择合适的平滑参数α至关重要:经验法则通常设α=1;交叉验证可找到最优α值;根据数据规模和特征分布调整α也能有效提升模型性能。
468 19
|
消息中间件 监控 Cloud Native
云原生架构下的数据一致性挑战与解决方案####
在数字化转型加速的今天,云原生架构以其轻量级、弹性伸缩和高可用性成为企业IT架构的首选。然而,在享受其带来的灵活性的同时,数据一致性问题成为了不可忽视的挑战。本文探讨了云原生环境中数据一致性的复杂性,分析了导致数据不一致的根本原因,并提出了几种有效的解决策略,旨在为开发者和企业提供实践指南,确保在动态变化的云环境中保持数据的完整性和准确性。 ####
|
人工智能 大数据 调度
【云栖2023】林伟:大数据AI一体化的解读
本文根据2023云栖大会阿里云研究员,阿里云计算平台事业部首席架构师,阿里云人工智能平台PAI和大数据开发治理平台DataWorks负责人---林伟演讲实录整理而成,演讲主题:”大数据AI一体化的解读“。
|
存储 Java API
Kotlin学习教程(六)
Kotlin学习教程(六)
239 2
|
安全 数据安全/隐私保护
什么是URL?
什么是URL?
1342 0
|
JSON fastjson Java
使用FastJson
使用FastJson
935 1