У меня есть этот DisplayField, который динамически загружается во время работы программы. Он загружает значение даты с помощью формата «Ymd» (без разделителей), я хочу изменить формат даты до «d.m.Y» после его загрузки.Ext JS DisplayField, как изменить динамически загруженное значение
Теперь у меня есть базовый класс DisplayField, и я расширяю его в своей программе. Я хочу отформатировать значение с событием в моем базовом классе. Мне удалось форматировать значение с помощью события изменения, но оно вызывает другое событие изменения, поэтому включается в цикл. Я использовал другую переменную счетчика, чтобы предотвратить цикл, но есть ли другой способ сделать это гораздо более чистым способом?
My Display Field:
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));
}
}
}
});
}
});