extjs 面板中的面板:自动滚动不工作

hsvhsicv  于 2022-11-05  发布在  其他
关注(0)|答案(3)|浏览(223)

我有一个视图(DetailsContainer,这个问题代码部分的第一个类),里面有两个项目(MetaDataPanel,Preview),但是自动滚动在MetaDataPanel中不起作用(按照代码)。所以当我把一些项目放在MetaDataPanel中时,自动滚动不起作用... PS:MetaDataPanel的内容是动态生成的,将元素添加到此面板中...有什么建议吗?

Ext.define('DP.view.DetailsContainer' ,{ 
id: 'DetailsContainer',
extend: 'Ext.Panel',
alias : 'widget.DetailsContainer',
collapsible: true,
// margins:'5 0 5 5',
split:true,
layout: {
    type: 'accordion',
    align: 'stretch',
    pack  : 'start'
},

initComponent: function() {

    Ext.apply(this, {

        items: [{
            xtype: 'MetaDataPanel',
            flex:1
        },{
            xtype: 'Preview',
            flex:2     
        }]
    });

    this.callParent(arguments);
}
});

Ext.define('DP.view.MetaDataPanel' ,{
id: 'MetaDataPanel',
extend: 'Ext.Panel',
alias : 'widget.MetaDataPanel',
title : 'MetaDati', 
layout: 'fit',
autoScroll:true, //TODO: autoscroll not working
initComponent: function() {
    Ext.apply(this, {
        items: [{
            xtype: 'component' ,
            html: 'Nessun File o Cartella selezionata. Selezionare un elemento per visualizzare i metadati!',
            margin: 5,
            style: {
                color: '#000000'
            }
        }]
    });
    this.callParent(arguments);
}
});
tp5buhyn

tp5buhyn1#

在具有适合布局的容器上指定autoScroll没有意义。子容器将始终适合容器的大小,它永远不会变大,因此您永远无法滚动。您需要在内部组件上指定autoScroll。

sqyvllje

sqyvllje2#

我不认为 accordion 面板滚动有什么意义。你应该做的是将内部组件设置为滚动。看看你的代码稍微改变以反映这个想法:http://jsfiddle.net/dbrin/jmHEj/

ntjbwcob

ntjbwcob3#

最简单(或者说最懒)的方法是将config autoScroll设置为默认值--这样它就可以被继承:

defaults: {autoScroll: true},

相关问题