Ext中我们常常需要将日期格式转为 年-月-日 或 年-月-日 时:分:秒这两种格式。在Ext中,进行格式化转换常用的格式为’Y-m-d’,‘Y-m-d H:i:s’
- 在定义Model时进行格式化
EXT.define(modelName,{
extend:'Ext.data.Model',
fields:[
{name:'date',type:'date',dataFormat:'Y-m-d'},
{name:'dateTime',type:'date',dataFormat:'Y-m-d H:i:s'},
...
],
idProperty:pk //这里是声明的主键,自己定义,集合
});
- 在创建form表单中的组件时,对子组件进行格式化
var from =[
xtype:'fieldcontainer',
layout:'hbox',
defaultType:'textfield',
items:[
{
name:'date',
id:'date',
fieldLable:'日期',flex:1,
xtype:'datefield',
format:'Y-m-d',
value:Ext.Date.format(Ext.Date.add(new Date(),Ext.Date.DAY),'Y-m-d')
},
...
]
];
var queryFrom = Ext.widget('from',{
... //各种属性的设置
items:from, //使用上面声明的表单元素
buttons:[ //声明表单中的按钮
{
text:'查询',
handler:function(){
//在这里写处理逻辑
}
},
...
]
});
- 创建时间选择组建时进行格式化
var date = Ext.create('Ext.from.field.Date',{
id:'date',
name:'date',
fieldLable:'日期',
format:'Y-m-d'
});
- 创建表格列时进行格式化
var gridColumns = [
Ext.create('Ext.grid.RowNumberer'), //开启行号
{
text:'日期',
dataIndex:'DATE', //查询对应的字段
render:function(v){
return Ext.Date.format(v,'Y-m-d');
}
},
...
];
var theGrid = Ext.create('Ext.grif.Panel',{
selModel:Ext.create('Ext.selecttion.CheckboxModel'), //开启复选框
id:'theGrid',
... //设置各种属性
columns:gridColumns, //使用上面声明的列
store:theStore, //数据源
bbar:[
{
text:'新增',
type:'button',
...
handler:function(){
//处理逻辑
}
},
...
]
});
目前只遇到了这些情况,日后如有新的使用场景再来补充。