2016-03-24 4 views
1

datefield в прокручиваемом контейнере не правильно выполняет его сборщик. Вот скрипка.Ext js 6: поле даты в прокручиваемом контейнере не работает

https://fiddle.sencha.com/#fiddle/17l8

Ext.application({ 
launch : function() { 
    Ext.create('Ext.container.Container', { 
     layout:'anchor', 
     scrollable:true, 
     width: 400, 
     height:'100px', 
     renderTo: Ext.getBody(), 
     border: 1, 
     style: {borderColor:'#000000', borderStyle:'solid', borderWidth:'1px'}, 
     defaults: { 
      labelWidth: 80, 
      // implicitly create Container by specifying xtype 
      xtype: 'datefield', 
      flex: 1, 
      style: { 
       padding: '10px' 
      } 
     }, 
     items: [{ 
      xtype: 'datefield', 
      name: 'startDate', 
      fieldLabel: 'DOB' 
     },{ 
      xtype: 'textfield', 
      name: 'name', 
      fieldLabel: 'Name' 
     },{ 
      xtype: 'textfield', 
      name: 'age', 
      fieldLabel: 'Age' 
     }] 
    }); 
} 
}); 

Перейти к скрипке, Сначала введите дату, прокрутите вниз и введите имя и возраст. Теперь снова прокрутите вверх и попытайтесь изменить дату. Экран отключается. Экран вернется, когда вы дадите щелчок мыши.

PS: это происходит только в EXt js 6. Не в любой более ранней версии.

+0

Возможно, это ошибка и исправлена. Воспроизведение этой проблемы с помощью 6.0.1.250 Crisp, но не воспроизводилось с помощью Nightly Crisp. –

+0

Нет, я все еще способен воспроизвести это .... Пожалуйста, еще раз проверьте .... – Praveen

ответ

0

Вычислено ... в скользящем контейнере, сборщик не согласуется с компонентом после компоновки. Мы делаем это вручную с переопределением ниже.

Ext.override(Ext.picker.Date, { 
    afterComponentLayout: function (width, height, oldWidth, oldHeight) { 
     var field = this.pickerField; 
     this.callParent([ 
      width, 
      height, 
      oldWidth, 
      oldHeight 
     ]); 
     // Bound list may change size, so realign on layout 
     // **if the field is an Ext.form.field.Picker which has alignPicker!** 
     if (field && field.alignPicker) { 
      field.alignPicker(); 
     } 
    } 
}); 
Смежные вопросы