我已经使用 ExtJS 4.1 将现有的可扩展日历应用程序移植到可扩展 1.5。从那时起,当单击日历或使用上下文菜单仅显示所选日历时,无法再隐藏/显示日历。
经过广泛的研究,我在代码中找到了相关的地方和错误:
extensible-all-debug.js:4559 rec.set([CM.IsHidden.name], !isHidden);
. 它将向 中添加一个新属性0: "IsHidden"
,rec.data
这肯定是不正确的。当更改为rec.set(CM.IsHidden.name, !isHidden);
它时,但我对破解可扩展代码毫无兴趣。
我发现'TestApp'-Extensible 示例使用ExtJS 4.0.7,一切正常。我Extensible-config.js
通过将 extJsRoot 更改为“http://cdn.sencha.io/ext-4.1.0-gpl/”来更改为使用 ExtJS 4.1。
现在'TestApp'正在使用ExtJS 4.1并且也被破坏了(隐藏/显示不再起作用),所以肯定有一个错误,可能是可扩展的,但我认为它与ExtJS 4.1更相关,因为当我进入rec.set - 两个版本(4.0.7 和 4.1)的方法看起来差别很大,所以 ExtJS 4.1 可能破坏了 Extensible 所依赖的东西。
要重现错误:
- 将“Extensible-config.js”中的 extJsRoot 更改为“http://cdn.sencha.io/ext-4.1.0-gpl/”
- 在本地打开“TestApp”。
- 在 `extensible-all-debug.js:4559` 处添加断点。
- 显示/隐藏日历。
- 断点命中,更进了一步。
- 检查rec.data,应该有一个新属性`0:“IsHidden”`。
- 继续脚本,日历不会被隐藏/显示。