Javascript Ext JS DisplayField如何更改动态加载的值
我有一个DisplayField,它在程序运行时动态加载。它正在加载格式为“Ymd”(不带分隔符)的日期值,我想要的是在加载后将日期的格式更改为“d.m.Y” 现在,我有了一个基本的DisplayField类,并在我的程序中对其进行了扩展。我想用基类上的事件格式化该值。我能够用change event格式化该值,但它会导致另一个change event,如此类推,然后进入循环。我使用了另一个计数器变量来防止循环,但是有没有其他更干净的方法呢 我的显示字段:Javascript Ext JS DisplayField如何更改动态加载的值,javascript,jquery,events,extjs,Javascript,Jquery,Events,Extjs,我有一个DisplayField,它在程序运行时动态加载。它正在加载格式为“Ymd”(不带分隔符)的日期值,我想要的是在加载后将日期的格式更改为“d.m.Y” 现在,我有了一个基本的DisplayField类,并在我的程序中对其进行了扩展。我想用基类上的事件格式化该值。我能够用change event格式化该值,但它会导致另一个change event,如此类推,然后进入循环。我使用了另一个计数器变量来防止循环,但是有没有其他更干净的方法呢 我的显示字段: Ext.define('MyDispl
Ext.define('MyDisplayField', {
extend: 'Ext.form.DisplayField',
enableDateFormat: false,
dateFormat: GlobalConfigProperties.dateFormat,
counter : 0,
initComponent: function() {
var me = this;
Ext.applyIf(me, {
listeners: {
change: function(field, newValue, oldValue, eOpts) {
if(field.enableDateFormat && field.counter == 0) {
field.counter = 1;
var date = Ext.Date.parse(newValue, 'Ymd');
field.setValue(Ext.Date.format(date, field.dateFormat));
}
}
}
});
}
})) 尝试使用,它应该绕过更改检测