问题标签 [extjs6]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - ProxyStore 中的循环依赖错误
我正在尝试在 extjs6 中解决一个棘手的错误。在 ProxyStore 中保存记录时出现无限循环:
Ext.JSON.doEncode ext-all-debug.js:48683
Ext.JSON.encodeObject @ ext-all-debug.js:48789
Ext.JSON.doEncode @ ext-all-debug.js:48685
Ext.JSON.encodeObject @ ext-all-debug.js:48789
经过进一步调查,我发现如果我第二次在表中保存一行,那么我表中的数据对象就会被一些奇怪的方法污染。
最初我在我的商店数据(例如store.data.items[0].data)中有一个这样的条目:
如果我在一个对话框和一个Ext.form.Panel中打开它,我可以修改这个对象并保存它。然而,在我保存它之后,在我对代理存储(即Ext.data.ProxyStore sync() )执行“同步”之后,记录会被一大堆垃圾污染。
这导致我的堆栈溢出循环依赖问题,因为在请求对象的深处再次引用了相同的记录对象,使得同步不可能。
似乎这些新属性已通过名为app.overrides.ResponseHeadersBugfix的东西放在那里。
有谁知道为什么会发生这个问题?为什么 ResponseHeadersBugFix 属性会附加到我的表记录中?
javascript - ExtJs 6.0:使用组合框编辑网格单元格 - 不同步 id 值
我正在使用带有 Ext.grid.plugin.CellEditing 的网格。在网格上,有一个组合框和一个日期。日期同步正确,但组合框试图将组合框的 ID 保存在字符串描述字段中。
我的组合框有字段 codeChecklistItemStatusId (外键)和 codeChecklistItemStatus (用户显示字段)。
当我编辑 Checklist Item Status 字段时,我为显示字段 (dataIndex: 'codeChecklistItemStatus') 选择的字段更新为整数。保存后,字段 codeChecklistItemStatus 从字符串描述更改为新的 id 值,而我要更改的字段 codeChecklistItemStatusId 仍然具有原始 id 值。
我在网上找到的所有示例都保存了字符串值而不是 id 值。有什么方法可以更改 codeChecklistItemStatusId 字段而不是 codeChecklistItemStatus?
我已将 dataIndex: 'codeChecklistItemStatusId' 放在我的网格中,然后网格会向用户显示数字而不是描述。但是,当保存正确的字段时,codeChecklistItemStatusId 会正确更新。
ChecklistItem 商店:
CheckListItem 模型:
组合框的商店:
组合框型号:
以下是网格中启用了 CellEditing 的一些字段:
我的控制器功能:
javascript - 如何在 extjs 6 中单击而不是鼠标悬停显示子菜单?
在 extjs 6 菜单中,如何设置子菜单在单击时显示,而不是在鼠标悬停时显示?我还没有找到任何配置来设置子菜单的显示触发,并且使用按钮作为菜单项也不起作用。
javascript - ExtJS 6:我应该使用配置对象吗?
我正在使用 ExtJS 6 构建一个应用程序。我已经阅读了指南、教程和最佳实践技巧。但我还不明白的是,我为什么要使用配置对象?
使用配置:
没有配置:
两者都按预期工作。谁能告诉我区别和可能的好处?
javascript - ExtJs ViewModel 不显示数据,即使它在那里
我有以下模型:
而这个 ViewModel:
而这个观点:
在呈现视图时,商店已经被填满。为什么按钮不显示指定 ViewModel 的 lastName?当我尝试使用内联数据时,它可以工作。
提前致谢。
编辑:当我将按钮绑定更改为以下
甚至不显示硬编码的字符串。我在这里想念什么?
编辑2:
这是我的json数据:
javascript - Extjs6 通过函数从配置应用属性
我曾经在 extjs4 中写过这个:
我在 extjs6 中尝试了同样的方法,但没有成功:'
他们是否移除了魔法?或者有没有其他更好的方法来构建我的 url,就像在我的代码中一样?我已经看到了一些解决方案,但没有一个适合我的应用程序。我通过登录后由后端发送的会话获取 customerId。我将通过 StoreManager 获取商店,获取客户记录并将其应用于代理。
提前致谢。
javascript - ExtJS redirectTo 没有在历史记录中保存 url
假设我有以下代码:
因此,当我打开时host/someurl
,应用程序会将我重定向到host/someurl:defaultparam
. 这部分效果很好。但是我之前无法host/someurl
使用“返回”浏览器按钮返回 url,因为当我返回到 host/someurl 时,应用程序会host/someurl:defaultparam
再次将我重定向到。我试着redirectTo
改成
但是每次重定向都会重新加载页面。
那么,如何使用 ExtJs redirectTo 并替换历史中的 url 呢?
更新:我更换history.go(0);
了this.redirectTo('someurl:defaultparam', true);
. 现在我连续两次或更多次重定向到某个网址时遇到问题
javascript - 访问类中的私有属性
为什么以下代码不起作用(ExtJS V6)?
我希望这会将窗口的标题设置为“标题:testtitle”。相反,它将标题设置为“标题:未定义”。
附加组件:如果我使用
我得到“未捕获的类型错误:this.getMytitle 不是函数”。为什么?
javascript - Extjs 6:添加模态窗口不会掩盖 tbar 和标题
我有一个视图,它充当我的网格的容器。这个视图拥有一个 tbar 和一个标题。
当我添加一个模态窗口时,标题和 tbar 没有被屏蔽。
主视图:
网格(使用控制器添加窗口)
来自 ViewController 的函数
即使很难,我也将它添加到 ownerContainer - 这是 MyMain 类 - tbar 和标题没有被屏蔽。看到这个小提琴自己体验错误: https ://fiddle.sencha.com/#fiddle/uih