1

スクロール可能なコンテナの日付フィールドが、ピッカーを適切にレンダリングしていません。これがフィドルです。

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 でのみ発生しています。以前のバージョンでは発生していません。

4

1 に答える 1

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();
        }
    }
});
于 2016-04-11T04:59:38.140 に答える