javascript
extjs5的grid垂直滚动条bug_ExtJS 6.2.1 Classic Grid 滚动条bug解决方案
如果列表同時存在橫向滾動條和豎向滾動條,當豎向滾動條滾動到底部時
點擊橫向滾動條,滾動條會自動滾動到頂部
此bug未在其他版本發現,參考高版本代碼重寫類解決此bug,直接上代碼:
/**
* 如果列表同時存在橫向滾動條和豎向滾動條,當豎向滾動條滾動到底部時
* 點擊橫向滾動條,滾動條會自動滾動到頂部
* 6.2.1 bug修復
*/
Ext.define('override.grid.NavigationModel', {
override: 'Ext.grid.NavigationModel',
//當列表被點擊時
onContainerMouseDown: function (view, mousedownEvent) {
var me = this,
context = new Ext.grid.CellContext(view),
lastFocused,
position;
//執行Ext.grid.NavigationModel父類的同名方法
//執行此方法后如果點擊的是滾動條view.lastFocused的值會變為scrollbar
//可以由此判斷點擊的是滾動條還是列表內容
//這樣就能解決這個bug
me.callSuper([view, mousedownEvent]);
lastFocused = view.lastFocused;
position = (view.actionableMode && view.actionPosition) || lastFocused;
//判斷點擊的元素是否是滾動條,如果是則不做任何操作
if (!position || lastFocused === 'scrollbar') {
return;
}
context.setPosition(position.record, position.column);
mousedownEvent.position = context;
me.attachClosestCell(mousedownEvent);
// If we are not already on that position, set position there.
if (!me.position.isEqual(context)) {
me.setPosition(context, null, mousedownEvent);
}
}
});
總結
以上是生活随笔為你收集整理的extjs5的grid垂直滚动条bug_ExtJS 6.2.1 Classic Grid 滚动条bug解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python selenium 点击开始
- 下一篇: gradle idea java ssm