我在尝试从 extjs 4.0.7 切换到 4.1.1 时遇到了一些问题。
第一个问题如下:
我有两个在列布局中的树形面板。一个紧挨着另一个。我的应用程序将一堆节点加载到左侧面板中,然后您可以选择将其中一些节点移动到另一个面板中。但是,带有所有节点的面板没有显示滚动条,因此我突然看不到大约 1/3 的节点。我在 4.0.7 中遇到了一个半相似的问题,如果面板已满,我无法看到最后一个节点移动,直到我移动另一个节点。我用以下几行修复了这个问题:
treePanel1.invalidateScroller();
treePanel2.invalidateScroller();
这些行在 4.1.1 中已弃用,问题似乎变得更糟。有没有人有类似的问题,我如何让我的滚动条回来。
与我的 UI 相关的第二个主要问题:
我在其他地方有两个彼此相邻的网格,其布局类似于树形面板。我已经在两个网格之间设置了拖放。同样,所有节点都从左侧网格开始,可以选择将一些节点拖到右侧网格中。但是,右侧网格现在没有以全尺寸显示,它默认为条子。因此,如果您知道将节点拖到那个小条子上,那么 DD 功能仍然存在。之后,sliver 膨胀到足以容纳单个节点,依此类推。那么,我如何让它恢复到默认的全尺寸。为什么 extjs 4.1.1 会导致这些问题?我必须在任何代码中增加手指,但如果绝对必要的话可以。但是,如果有人根据我的描述熟悉此类问题,那就太好了。
编辑:另外,我在网格的最右边一列有一个组合框。当我单击以更改其中一个组合框时,会弹出一个迷你滚动条,以阻止下拉按钮。他们对这个版本做了什么?
这是布局定义,我遇到的第一个问题是滚动条在需要时没有显示在面板上:
{
xtype: 'panel',
title: 'Select fields',
defaults: {
border: false,
height: '100%'
},
layout: 'column',
items: [
{
xtype: 'treepanel',
itemID: 'choicesTreePanel',
title: 'Choose from below fields',
height: '100%',
multiSelect: true,
store: choicesTree,
rootVisible: false,
columnWidth: .44},
{
xtype: 'panel',
columnWidth: .06,
layout: {
type: 'vbox',
align: 'center'
},
defaults: {
margins: "15 0 0 0"
},
items: [
{
xtype: 'button',
text: '==>'},
{
xtype: 'button',
text: '<=='},
{
xtype: 'button',
text: 'RST'}
]},
{
xtype: 'treepanel',
itemId: 'chosenTreePanel',
title: 'Fields',
border: true,
store: chosenFields,
rootVisible: false,
columnWidth: .44,
viewConfig: {
plugins: {
ptype: 'treeviewdragdrop,
dragText:'
dragginggggg '
},
ddGroup: '
fieldsDD '
}
},
{xtype:'
panel ',
columnWidth:.06,
layout:{
type:'
vbox ',
align:'
center '
},
items: [
{
xtype: '
button ',
text: '
UP '},
{
xtype: '
button ',
text: '
DOWN '}
]
}
]
}
编辑:在左侧面板上,如果我将高度设置为设定值,并且自动滚动为真,我有一个滚动条。如果我将高度设置为“100%”并且自动滚动为真,则没有滚动条。所以一个解决方案可能是找出如何让面板适合父级的高度,同时保持滚动条