ExtJS 6 TreePanel滚动不起作用

时间:2016-01-06 09:34:48

标签: javascript extjs scrollable treepanel

我试图让我的treepanel以两种方式滚动。 继承我的代码:https://fiddle.sencha.com/#fiddle/13cb

我可以在我的包装面板中设置scrollable: true,但这不能解决水平滚动问题。 此外,通过这种方法,组合框也向上滚动。但我只想让树梢水平和垂直滚动。我怎样才能做到这一点?

提前致谢

1 个答案:

答案 0 :(得分:1)

我不确定我们是否能够达到您想要的效果。但是试试吧。

要使垂直滚动条工作,您必须在树状面板上定义高度。截至目前,treepanel动态调整其内容的高度,因为没有为它定义高度。由于即使父面板没有定义高度,给出高度百分比也不起作用,但是例如身高:500。如果您需要在调整浏览器窗口大小时浮动布局,请查看父面板的vboxborder布局。

要使水平滚动条工作,您必须知道网格列的工作原理。您尚未定义列配置,这使得treepanel假定您希望单个列占用树窗板宽度的100%:

   if (!me.columns) {
        if (me.initialConfig.hideHeaders === undefined) {
            me.hideHeaders = true;
        }
        me.addCls(me.autoWidthCls);
        me.columns = [{ // define columns configuration with a single column
            xtype    : 'treecolumn', // the column should be a treecolumn
            text     : 'Name',
            flex     : 1, // and take up 100% of the width of the panel
            dataIndex: me.displayField // and use the displayField as 
        }];
    }

您无法使列自动占用其内容所需的宽度。但你可以,例如收听nodeexpand and nodecollapse个事件并致电column.autoSize()