2016-03-24 14 views
1

datefield在可滾動容器中未正確呈現其拾取器。這是小提琴。分機js 6:在可滾動容器中的datefield不起作用

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(); 
     } 
    } 
});