Javascript extjs树面板中的滚动条不工作
有时,我的树面板的滚动条不工作了。虽然仍然可以移动滚动条,但树不再移动。这在Firefox和Chrome中都会发生 以下是“我的树”面板的来源:Javascript extjs树面板中的滚动条不工作,javascript,extjs,scrollbar,treepanel,Javascript,Extjs,Scrollbar,Treepanel,有时,我的树面板的滚动条不工作了。虽然仍然可以移动滚动条,但树不再移动。这在Firefox和Chrome中都会发生 以下是“我的树”面板的来源: var treeStore=Ext.create('Ext.data.treeStore'{ 代理:{ 键入:“ajax”, url:“../tree.pl” } }); var tree=Ext.create('Ext.tree.Panel'{ 商店:treeStore, renderTo:'树', 标题:“树”, 宽度:400, 身高:450,
var treeStore=Ext.create('Ext.data.treeStore'{
代理:{
键入:“ajax”,
url:“../tree.pl”
}
});
var tree=Ext.create('Ext.tree.Panel'{
商店:treeStore,
renderTo:'树',
标题:“树”,
宽度:400,
身高:450,
rootVisible:false,
摘要:[{
xtype:'工具栏',
船坞:“底部”,
项目:[
{
xtype:'tbspacer',
宽度:340
},
{
文本:“搜索”,
处理程序:函数(){
名称=[];
Ext.Array.each(tree.getView().getChecked(),函数(rec){
name.push(rec.get('text'));
}))
resultStore.load({
参数:{
搜索类型:“树”,
树节点:name.join('II'),
}
});
}
}
]
}]
}))
我也有同样的问题。他们使用定制的滚动条,而且它很有缺陷(特别是在chrome中)。要删除自定义滚动条,请在配置中添加以下内容:
.x-grid-cell {
overflow: hidden;
font: normal 13px tahoma, arial, verdana, sans-serif;
user-select: none;
-o-user-select: none;
-ms-user-select: none;
-moz-user-select: -moz-none;
-webkit-user-select: none;
cursor: default
}
.x-grid-cell-inner {
overflow: hidden;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
padding: 3px 6px;
white-space: nowrap
}
我还没有为treepanel试过。但它对gridpanel非常有效(因为tree和grid都只是Ext.panel.Table的扩展,所以解决方案也应该适用于treepanel)。在Ext 4.1中,自定义滚动条将再次替换为本机滚动条。虚拟化的滚动条旨在支持无限滚动、列锁定等,但我相信在4.1中,他们已经设法解决了这些问题,并且仍然保留了本机滚动条。如果4.0.x中当前的问题因此得到解决,我会感到惊讶。在Ext4.0中,位于主库的参考资料下的EXT-all.css文件中,这才是不起作用的真正原因。这个css文件的编码人员决定网格单元应该有
overflow:hidden代码>(第3324行附近):
最好的办法是将两个类的溢出都设置为继承,这个问题就神奇地消失了
唯一剩下的是网格表的边框,但这可以通过在css中放置css样式来解决。我建议不要将它放在ext-all.css文件中
请记住,对于使用.x-grid-cell
的任何样式,这都会更改它。我使用的是ext4.0.7
卷轴:对
对我有用。但出于某种原因,有人补充说:
布局:锚
树面板的配置导致它停止工作。如果发现scroll:true
不起作用,请尝试查看是否有人添加了布局并将其删除
希望这能有所帮助。是的,我也是这样。我认为这是extjs错误。我没有在你的代码中看到autoScroll:true
code@astrocybernaute:我添加了autoScroll配置,但没有帮助!?这绝对有效。不幸的是,我无法使用它,因为当使用向上/向下箭头键在树中移动时,它似乎会破坏滚动。如果其他人需要该功能,我在这里分享了一项工作:
var tree = Ext.create('Ext.tree.Panel', {
scroll : false,
viewConfig : {
style : { overflow: 'auto', overflowX: 'hidden' }
},
// ...
});
.x-grid-cell {
overflow: hidden;
font: normal 13px tahoma, arial, verdana, sans-serif;
user-select: none;
-o-user-select: none;
-ms-user-select: none;
-moz-user-select: -moz-none;
-webkit-user-select: none;
cursor: default
}
.x-grid-cell-inner {
overflow: hidden;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
padding: 3px 6px;
white-space: nowrap
}
.x-grid-table {
border: none !important;
width: auto !important;
}