gpt4 book ai didi

forms - 无法在容器面板初始化时在 Ext Js FormPanel 上调用 getValues()

转载 作者:行者123 更新时间:2023-12-01 13:03:27 25 4
gpt4 key购买 nike

我有一个 Ext Js 面板,我正在将其添加到我的主 TabPanel。我要添加的面板包含一个 FormPanel 作为它的项目之一,在 FormPanel 中我有一个 Name 字段。我想做的是根据表单字段中的名称更改选项卡的名称。

问题是,如果我在面板的 initComponent 中调用 FormPanel 的 getForm().getValues(),我会收到以下 javascript 错误:

Uncaught TypeError: Cannot read property 'dom' of undefined

如果我在 initComponent 之外执行此操作(例如按下按钮),一切正常。做了一些测试后,我认为问题在于 FormPanel 尚未实际呈现(因此 dom 不存在),getValues() 失败。但是,我似乎无法找到一种方法来在加载时从面板获取我的 FormPanel 的值。

我尝试监听事件。我试过:

this.detailForm.on('afterrender', function () { alert('test'); });

但这样做表明 AfterRender 在实际呈现表单之前被调用(它在屏幕上不可见)。将警报更改为我的自定义函数处理程序会产生先前的 dom 异常。我尝试使用 activateenable 事件而不是 afterrender,但即使 API 表示 FormPanel 会触发这些事件,alert(' test') 永远不会被调用。

我似乎找不到任何方法让我的面板在加载我的面板时获取内部 FormPanel 的值。有人有什么想法吗?

最佳答案

使用 getFieldValues() 代替 getValues() 将通过调用每个字段实例的 getValue() 方法而不是从 DOM 中读取来收集值。这应该允许您获取您的值,而不管表单的呈现状态如何。

关于forms - 无法在容器面板初始化时在 Ext Js FormPanel 上调用 getValues(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4405413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com