我正在使用GridPanel,它在其列上使用过滤器。这些过滤器类型是列表。所以它们是ListFilter类的实例。
我的想法是在这些listfilter项目上获得一个滚动条,因为有时候我有很多可能的过滤器值,而且本机ExtJS没有带有列表类型过滤器的滚动条。所以,我已经覆盖了ListFilter类的createMenu方法来启用滚动条。
现在看起来像这样:
Ext.ux.grid.filter.ListFilter.prototype.createMenu = function (config) {
var menuCfg = config.menuItems ? { items: config.menuItems } : {},
menu;
Ext.copyTo(menuCfg, config, "labelField,loadingText,loadOnShow,single,store,options");
Ext.apply(menuCfg, {
autoScroll: true
});
menu = Ext.create('Ext.ux.grid.menu.ListMenu', menuCfg);
menu.self.xtype = "menu";
menu.on('checkchange', this.onCheckChange, this);
return menu;
};
这段代码效果很好,滚动条可见,可用于向上/向下滚动筛选值列表。但现在,问题是此代码使用mousewhell禁用了自然滚动行为。
我希望两者兼顾:滚动条和鼠标滚动滚动。我试图为我的菜单设置一个固定的高度,但它没有修复任何东西。
有什么想法吗?
非常感谢