- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将一些 ExtJS 4 的内容迁移到 ExtJS 5.1。我有一个网格,它从服务器获取元数据并在元更改事件上重新配置存储:
store: Ext.create('Ext.data.Store', {
model: 'MyModel',
listeners: {
metachange: function (store, meta) {
this.grid.reconfigure(store, meta.columns);
},
scope: this
},
proxy: {
type: 'ajax',
url: '/mygriddata',
reader: {
type: 'json',
rootProperty: 'rows',
totalProperty: 'totalRows'
}
}
})
我还为此网格启用了网格过滤器。当商店第一次加载时,一切正常。我可以按下网格列的触发按钮,列菜单将显示“升序排序”、“降序排序”、“过滤器”,并且我可以使用为该列指定的过滤器(日期、字符串等) .
但是,在存储使用不同的元数据重新加载后,事情就会中断,从而触发metachange事件并调用grid.reconfigure。具体来说,当我单击网格列的触发按钮时,我收到“未定义不是函数错误”,并且列菜单不会出现。
如果我在没有先单击列触发按钮的情况下更改元数据,则不会发生此错误 - 这与构建过滤器菜单项然后重新配置网格有关,这会破坏过滤器菜单项。看来,当我重新配置网格时,我还需要以某种方式刷新过滤器或重建菜单项,但我不知道该怎么做。任何帮助将不胜感激,谢谢!
错误的完整堆栈跟踪:
Uncaught TypeError: undefined is not a function ext-all-debug.js:86455
Ext.define.getDockedItems ext-all-debug.js:86465
Ext.define.getDockingRefIt emsext-all-debug.js:87641
Ext.define.getRefItems ext-all-debug.js:130763
Ext.define.getRefItems ext-all-debug.js:75497
Ext.define.getRefItems ext-all-debug.js:7378
Ext.Base.Base.addMembers.callParent ext-all-debug.js:87640
Ext.define.getRefItems ext-all-debug.js:15057
getItems ext-all-debug.js:15310
cq.Query.Ext.extend._execute ext-all-debug.js:15271
cq.Query.Ext.extend.execute ext-all-debug.js:15480
Ext.apply.query ext-all-debug.js:63058
Ext.define.query ext-all-debug.js:63101
Ext.define.down ext-all-debug.js:101658
Ext.define.showMenuBy ext-all-debug.js:101651
Ext.define.onHeaderTriggerClick ext-all-debug.js:101179
Ext.define.onHeaderCtEvent ext-all-debug.js:11800
fire ext-all-debug.js:18530
Ext.define.fire ext-all-debug.js:18506
Ext.define.publish ext-all-debug.js:18556
Ext.define.doDelegatedEvent ext-all-debug.js:18543
Ext.define.onDelegatedEvent ext-all-debug.js:4402
Ext.Function.ExtFunction.bind.method
最佳答案
我的解决方案:
Ext.define('Overrides.grid.filters.Filters', {
override: 'Ext.grid.filters.Filters',
onReconfigure: function(grid, store, columns, oldStore) {
var me = this;
me.sep = Ext.destroy(me.sep);
if (me.menuItems && me.menuItems[grid.id]) {
me.menuItems[grid.id].destroy();
}
me.callParent(arguments);
}
});
关于javascript - ExtJS 5.1 - 带有 gridfilters 插件的网格在 grid.reconfigure 后中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28178097/
使用 C#、.NET Core 3.1 我在 startup.cs 中添加了一个单例 httpclient: services.AddHttpClient().ConfigurePrimaryHttp
我需要在我的生产服务器上运行以下命令: EXEC sp_configure 'xp_cmdshell', 1; GO RECONFIGURE; GO 我的问题是,在生产环境中运行这个命令有什么危
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwa
文章在这里 http://en.wikipedia.org/wiki/Reconfigurable_computing#Example_of_a_streaming_model_of_computat
我想默认“接受”新证书。我尝试了以下方法。 $ dpkg-reconfigure -f noninteractive ca-certificates 它运行,但没有添加 CA。 如果不行,直接修改/e
我遇到了错误 Can't call reconfigure() on a recycled bitmap 使用 Glide 库加载图像时。 5 次中有 1 次出现此错误。图片大小约为 1.5MB。 我
我在 Ubuntu 16.04 服务器上设置了一个综合包 gitlab-ce 版本 8.12.7。我运行了 sudo gitlab-ctl reconfigure 并且第一次运行良好。然后我从我从 8
我正在 Vagrant box (Debian 18.04 LTS) 中安装 Gitlab-ce Omnibus。在我的供应脚本中,我运行 gitlab-ctl reconfigure。我得到一个错误
我正在尝试将我的 Java WindowBuilder SWT 应用程序重新配置为 64 位,而不是 32 位。 我的开发机器是Windows(Win7,64位),但代码也需要在CENTOS上运行。一
我正在创建一个 extjs 网格面板,它有一组用户可配置的列。 Ext.grid.Panel组件为此目的提供了一个方便的 reconfigure(store, columns) 方法。 此方法可按预期
(我需要以下内容的原因并不重要) 我想要做的是调整以下内容,以便它执行存储过程,这通常需要 30 分钟,但该过程会在 60 秒的设定时间后停止 - 实际上与我在 SSMS 运行该程序并在 60 秒后按
我正在将一些 ExtJS 4 的内容迁移到 ExtJS 5.1。我有一个网格,它从服务器获取元数据并在元更改事件上重新配置存储: store: Ext.create('Ext.data.Store',
我正在尝试让 VirtualBox 在内核 3.2.0-49-generic 的 ElementaryOS 上工作。我一直收到此错误: WARNING: The character device /d
我一直在修改 Linux 无线驱动程序 (ath9k) 以实现通知 channel 宽度操作框架。 需要做的一件事是在不中断数据传输的情况下在 HT20 和 HT40 之间更改 STATION 的 c
这是我第三次在服务器上安装 gitlab 并且以前从未出现过问题。 在处理 12.9.0 上的问题后,我决定重新安装 gitlab-ce ( 12.10.0 )。 在安装新版本之前,我已确保删除所有
我是一名优秀的程序员,十分优秀!