ExtJS 4:单击按钮后替换视口项目数组中的两个组件

2024-03-17

下面是一些单击按钮后即可运行的代码。当我在另一个按钮中再次设置“视图”变量(对于不同的按钮)并使用不同的网格和不同的表单运行这个确切的代码时,这两个项目完全消失。为什么它在第一次迭代时运行,但在第二次迭代时不运行?

更重要的是,我怎样才能正确地切换这两个项目的组件?我尝试在这两个组件中使用“itemId”配置(通过 getComponent),我尝试在这些组件中使用“id”配置(通过 getCmp),并且我尝试使用父级中的“items”对象这两项的组成部分。我没有成功。我可以让它工作的唯一方法(至少在第一次单击按钮时)是使用“区域”配置(见下文)。

单击按钮后调用的函数:

openAssociationGrid : function() {

    var view = this.getViewportAdmin();
    var main = view.down('[region=west]');
    main.removeAll();
    main.add({
        region: 'center',
        itemId: 'grid',
        xtype: 'view-association-grid',            
        width: '50%',
        store: 'Associations',
        split: true
    });
    main.add({
        region: 'east',
        itemId: 'form',
        xtype: 'view-association-form',
        width: '50%',
        split: true            
    });
},

EDIT:

根据 @Thevs 的回答,我已经得到了这段代码。如何应用它来替换视图的项目数组中的给定项目?

var id1 = Ext.id();
alert(id1);
var id2 = parseInt(id1.replace("ext-gen", ""));
alert(id2);

我已经尝试过以下方法,但还没有工作。我更喜欢使用 id,而不是这些边框布局区域,因为我将来可能会将布局更改为 vbox 或 hbox 或两者的组合。

    var view = this.getViewportAdmin();
    var center = view.down('[region=center]');
    var east = view.down('[region=east]');

    Ext.apply(center, {
        region: 'center',
        itemId: Ext.id(),
        xtype: 'view-property-grid',            
        width: '50%',
        store: 'Properties',
        split: true
    });
    Ext.apply(east, {
        region: 'east',
        itemId: Ext.id(),
        xtype: 'view-property-form',
        width: '50%',
        split: true            
    });

您必须为以下内容生成唯一的 iditemId用于网格和表单。您可以使用Ext.id()为此功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ExtJS 4:单击按钮后替换视口项目数组中的两个组件 的相关文章

  • Extjs - 为选项卡生成唯一的 url

    据我了解 ExtJS 使用 AJAX 进行所有服务器端通信 并且理想情况下每个应用程序只有一页 但我正在探索为 ExtJS 选项卡生成唯一 URL 的可能性 然后用户可以从地址栏复制该 URL 以供以后使用 传统 Web 应用程序方法 使页
  • 您对 Javascript MVC 框架有何建议? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 注销按钮在 mvc 应用程序中不起作用

    我有一个具有不同用户帐户和密码的 MVC 应用程序 登录功能工作正常 但当我单击注销按钮时 出现 404 错误 应用程序中的服务器错误 无法找到该资源 描述 HTTP 404 您正在查找的资源 或其依赖项之一 可能已被删除 名称已更改或暂时
  • 无法加载所需框架:extjs 中的 ext@null

    设置 extjs 和 sencha 当我运行应用程序时出现错误无法加载所需的框架 root samuel pc Documents code test sencha app watch Sencha Cmd v6 5 0 180 ERR U
  • 在代码 MVC Razor 中渲染部分视图

    我正在使用 MVC 3 Razor 制作一个简单的 CMS 以用于实践目的 我的想法是创建一些部分视图 我想要进行数据库查找 并发现 3 个部分视图需要渲染到页面 我该怎么做 在 WebForms 中 您可以调用 LoadControl C
  • TColorProperty德尔福柏林10.1.2?

    我正在尝试将组件从 Delphi 7 转换为 Delphi Berlin 平面组件 https sourceforge net projects flatstyle https sourceforge net projects flatst
  • 确定视图是否在屏幕上 - Android

    我对这个有点困惑 首先也是最重要的是 以下链接很有用 但是我提出了一些可见性问题 链接 检查视图可见性 https stackoverflow com questions 4628800 android how to check if a
  • “引起:java.lang.RuntimeException:视图必须有标签”的实际含义是什么?

    如果知道想要什么标签 请告诉我 Caused by java lang RuntimeException view must have a tag BaseActivity java Override public void setCont
  • 如何创建像谷歌位置历史记录一样的Android时间轴视图?

    我想设计像谷歌位置历史这样的用户界面 我必须为我正在使用的应用程序复制此 UIRecyclerView 每行都是水平的LinearLayout其中包含右侧的图标 线条和视图 该线是一个FrameLayout具有圆形背景和半透明圆圈Views
  • 设置 ViewGroup 的最大宽度

    如何设置 ViewGroup 的最大宽度 我正在使用一个Theme Dialog然而 当调整大小到更大的屏幕时 它看起来不太好 它也有点轻量级 我不希望它占据整个屏幕 I tried 这个建议 https stackoverflow com
  • 如何删除控制器ExtJS?

    我在应用程序中动态创建控制器 如下所示 var loadedController me app getController controller name loadedController init 使用后如何删除该控制器 谢谢 ExtJs
  • 如何从 glimmer 组件中获取父上下文?

    假设我在 glimmer 中有一个简单的组件 其中包含一个项目列表
  • 讨论iPhone上的MVC实现

    我在不同的框架上使用 MVC 模式一段时间 例如 swing android gwt 现在 我正在学习iPhone框架 我对MVC的实现感到非常惊讶 我问的问题是关于视图和控制器交互的 首先 这就是我构思 MVC 模式的方式 视图和控制器通
  • 如何将 Perforce 仓库位置转换为客户端视图位置

    我想知道如何将 Perforce 仓库位置转换为客户端视图位置以用于脚本编写 我有一个脚本 它首先检查文件以进行编辑 然后与该文件进行交互 我需要将仓库位置 即 Projects Project6 转换为客户端视图位置 即 d Projec
  • Sencha Touch Uncaught typeError:未定义不是函数

    我最近开始检查 Sencha Touch 在遵循教程时 我遇到了一些我似乎无法解决的问题 sencha 提供的 app js 中的一些基本代码运行良好 其他人似乎会出错 例如 new Ext application name NotesAp
  • Rails:使最终用户可以编辑视图?

    无论如何 我可以使最终用户可以编辑 Rails 视图中的内容吗 这样他们就可以在我允许的页面上进行简单的文本更改 而无需我自己编辑 HAML 文件 想法 澄清 我了解 CMS 系统 但我认为这并不完全是我想要的 我想保持对视图的编程控制 但
  • ExtJS4:从 Ext.Application 访问全局变量

    我想加载一些应用程序特定的设置 并在加载应用程序时将它们保存为全局变量 我找到了如何创建和访问全局变量here https stackoverflow com questions 11615277 setting and accessing
  • 用什么? MVC、MVP 或 MVVM 还是……?

    我将启动一个 Java 项目来开发桌面应用程序 使用什么作为表示层模式 MVC MVP MVVM 或 如果可能的话 举一些可行的小例子 Actually the ultimate post you re looking for is thi
  • 如何让 ExtJS ComboBox 与文本一起显示?

    我想让以下内容显示在一行中 我尝试过使用样式浮动和显示 Show this input
  • Global.asax 和 Error.aspx 中的 ASP.NET MVC 错误日志记录

    我正在创建一个 ASP NET MVC 应用程序 我需要在两个地方处理异常 Global asax vb 文件 Public Class MvcApplication Inherits System Web HttpApplication

随机推荐