Ext可编辑表格中timefield选择后会显示中国标准时间

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jinyulong84/article/details/70229405

这里写图片描述
选择的时候正常,但是选择完之后,点击其他地方,就变成Tue Jan 01 2008 04:45:00 GMT+0800 (中国标准时间) 了。
尝试使用datefield也是一个效果。
使用的是extjs4.1.1只有在grid中editor里,才会出现这种情况在其他地方单独使用timefield,就不会出现问题。
view中代码:

columns:[
            {header:'起始时间(小时分钟)',dataIndex:'bHour',flex:3,sortable: true,editor:{
                xtype:'timefield',   //一选择就显示Tue Jan 01 2008 04:45:00 GMT+0800 (中国标准时间)  已在model中解决
                format:'G:i',  //格式化时间,24小时制
            }},
            ...
]

怀疑是Model中该列数据是不是有默认显示值,但是不知道在哪个地方修改,哪位大神知道告诉我一声。。。。。非常感谢!!!!!!
后来只能自己在model中把数据做下处理,不让这么显示,暂时是解决这个问题了

Ext.define('...',{
    extend:'Ext.data.Model',
    fields:[
        {name:'bHour',convert:setBHour},
            ...
        ]
});

function setBHour(v, rec){
//  console.log(v);
    if(escape(v).indexOf("%u")>0){  //如果包含中文  一选择就显示Tue Jan 01 2008 04:45:00 GMT+0800 (中国标准时间)
        var d = new Date(v);
        var hour = d.getHours()<10?(0+''+d.getHours()):d.getHours();
        var minute = d.getMinutes()<10?(0+''+d.getMinutes()):d.getMinutes();
        var time = hour+''+minute;//数据要求格式化成 Gi形式 不加冒号
        return time;
    }else{
        return v;
    }
}

这里写图片描述

展开阅读全文

没有更多推荐了,返回首页