Ext Js 6.2.1 classic grid 滚动条bug解决方案

Posted 魔狼再世

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ext Js 6.2.1 classic grid 滚动条bug解决方案相关的知识,希望对你有一定的参考价值。

此bug未在其他版本发现,参考高版本代码重写类解决此bug,直接上代码:

 1 /**
 2  * 如果列表同时存在横向滚动条和竖向滚动条,当竖向滚动条滚动到底部时
 3  * 点击横向滚动条,滚动条会自动滚动到顶部
 4  * 6.2.1 bug修复
 5  */
 6 Ext.define(‘override.grid.NavigationModel‘, {
 7     override: ‘Ext.grid.NavigationModel‘,
 8     //当列表被点击时
 9     onContainerMouseDown: function (view, mousedownEvent) {
10         var me = this,
11         context = new Ext.grid.CellContext(view),
12         lastFocused,
13         position;
14         //执行Ext.grid.NavigationModel父类的同名方法
15         //执行此方法后如果点击的是滚动条view.lastFocused的值会变为scrollbar
16         //可以由此判断点击的是滚动条还是列表内容
17         //这样就能解决这个bug
18         me.callSuper([view, mousedownEvent]);
19         lastFocused = view.lastFocused;
20         position = (view.actionableMode && view.actionPosition) || lastFocused;
21         //判断点击的元素是否是滚动条,如果是则不做任何操作
22         if (!position || lastFocused === ‘scrollbar‘) {
23             return;
24         }
25 
26         context.setPosition(position.record, position.column);
27         mousedownEvent.position = context;
28         me.attachClosestCell(mousedownEvent);
29 
30         // If we are not already on that position, set position there. 
31         if (!me.position.isEqual(context)) {
32             me.setPosition(context, null, mousedownEvent);
33         }
34     }
35 });

 

以上是关于Ext Js 6.2.1 classic grid 滚动条bug解决方案的主要内容,如果未能解决你的问题,请参考以下文章

extjs ext5 Ext.grid.Panel 分页,搜索

Ext 6.5.3 classic版本,自定义实现togglefield开关控件

EXT grid 怎样在JS里面动态设置为只读.不可编辑?

Ext js-02 -官方API文档使用

ext js 传入行号后grid自动选中

Ext.js 4.2 默认选中Grid行