最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Extjs中DisplayField的日期或者数字格式化扩展_extjs

来源:懂视网 责编:小采 时间:2020-11-27 20:54:52
文档

Extjs中DisplayField的日期或者数字格式化扩展_extjs

Extjs中DisplayField的日期或者数字格式化扩展_extjs: 使用 Ext.form.FormPanel 来处理数据时候,某些字段是需要只读的。当然我们可以使用 Ext.form.TextField,然后设置成 ReadOnly,不过这样子的显示效果不是很好,因为始终会有个输入框。所以我们必须使用 Ext.form.DisplayField,但是
推荐度:
导读Extjs中DisplayField的日期或者数字格式化扩展_extjs: 使用 Ext.form.FormPanel 来处理数据时候,某些字段是需要只读的。当然我们可以使用 Ext.form.TextField,然后设置成 ReadOnly,不过这样子的显示效果不是很好,因为始终会有个输入框。所以我们必须使用 Ext.form.DisplayField,但是

使用 Ext.form.FormPanel 来处理数据时候,某些字段是需要只读的。当然我们可以使用 Ext.form.TextField,然后设置成 ReadOnly,不过这样子的显示效果不是很好,因为始终会有个输入框。所以我们必须使用 Ext.form.DisplayField,但是 Ext.form.DisplayField 没有一个format的属性,也不具备 renderer 这个事件,比如日期字段 var form = new Ext.form.FormPanel({
frame: true,
renderTo: 'form-div',
items: [{ xtype: 'displayfield', fieldLabel: 'Date', value: new Date() }]
});
那它显示的就有点不正确了

那么我们可以重写一下 Ext.form.DisplayField,让他支持 format 属性

Ext.override(Ext.form.DisplayField, {
 getValue: function () {
 return this.value;
 },
 setValue: function (v) {
 this.value = v;
 this.setRawValue(this.formatValue(v));
 return this;
 },
 formatValue: function (v) {
 if (this.dateFormat && Ext.isDate(v)) {
 return v.dateFormat(this.dateFormat);
 }
 if (this.numberFormat && typeof v == 'number') {
 return Ext.util.Format.number(v, this.numberFormat);
 }
 return v;
 }
});
我们给 Ext.form.DisplayField 加了两个属性: dateFormat 和 numberFormat,然后我们将上面的 FormPanel 改一下

var form = new Ext.form.FormPanel({

    frame: true,

    renderTo: 'form-div',

    items: [{

      xtype: 'displayfield',

      fieldLabel: 'Date',

      value: new Date(),

      dateFormat: 'm/d Y'

    }]

});

应该还是比较 perfect 的,哈哈哈

文档

Extjs中DisplayField的日期或者数字格式化扩展_extjs

Extjs中DisplayField的日期或者数字格式化扩展_extjs: 使用 Ext.form.FormPanel 来处理数据时候,某些字段是需要只读的。当然我们可以使用 Ext.form.TextField,然后设置成 ReadOnly,不过这样子的显示效果不是很好,因为始终会有个输入框。所以我们必须使用 Ext.form.DisplayField,但是
推荐度:
标签: 日期 格式化 format
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top