extjs 滚动条自动定位

今天客户提了一个需求,滚动条自动定位问题。大致如下:
 树控件菜单中 ,有很多节点,当打开较多的时候,会显示不下,出现滚动条,用户展开一个靠下的节点时候,往往要先拉动滚动条,才能看到展开节点的叶子节点。客户希望在展开节点的时候,滚动条会自动定位,不需要拉动就能看到下面的子节点。
   查找相关代码发现 滚动条是跟随焦点走的,焦点在哪,滚动条默认就向哪滚动,点击父节点或者展开按钮时候,是当前节点获取焦点,故滚动条只会滚动到当前节点处,要想实现用户的需求,最好是当前展开节点的最后一个节点获取焦点,查找ext api 发现treenode无获取焦点的方法,查看其元代吗,发现 treenode 的获取焦点 要通过treenodeui获取,故修改代码如下: //监听树的展开事件,将焦点转移到当前节点的最后一个子节点
    expandnode :function(node){
var curr = node.lastChild ;
if(curr){
curr.getUI().focus();
}
},
// 监听click事件,同样将焦点转移到当前节点的最后子节点
'click':function(node){
if(node.isLeaf()){
openTab(node);
}else{

node.expand(false,true,function(temp){
var curr = temp.lastChild ;
if(curr){
curr.getUI().focus();
}
});
//树展开的时候 ,单击节点,使滚动条自动定位到相应的位置
Ext.getCmp('treeAccordion').doLayout();

}

},

通过上述方法,使树的滚动条自动滚动,系统的易用性得到了增强。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值