使用 ExtJS 4 的动态模型

2024-03-05

在 ExtJS 3.x 中,我能够使用 Store 的“fields”属性,但在 ExtJS 4 中我似乎必须绝对使用模型。这很好,但就我而言,它不是静态模型,我需要动态定义字段,有时还需要更改它们。

我可以重新创建一个模型,但我需要使用不同的名称,因为显然不可能修改现有模型,也无法删除它。如果我尝试使用同名的 Ext.regModel,ExtJS 就会崩溃。

感谢您的帮助!


4.1 更新:

作为更新...在 4.1 中现在有一个静态方法setFields可用于定义模型原型字段。它在控制器的 init 方法中运行良好。

当我这样做时,我想在模型类中定义一些静态字段,然后更动态地设置一些字段。不幸的是新setFields method replaces所有字段都有参数,但处理起来很容易。

此示例使用 MVC 模式,其中我的模型和商店包含在控制器的model数组和store数组(为我提供下面使用的方便的吸气剂):

Ext.define('ST.controller.Main', {
    extend: 'Ext.app.Controller',

    models: ['User', 'Reference'],

    stores: ['CurrentUser', 'PermissionRef'],

    views: ['MainPanel'],

    init: function() {
        var me = this;

        me.getPermissionRefStore().on('load', function(store, records) {
            var model = me.getUserModel();
                // this returns the static fields already defined 
                // in my User model class
                fields = model.prototype.fields.getRange();

            // add the permission options (dynamic fields) to the static fields
            Ext.each(records, function(permission) {
                fields.push({name: permission.get('name'), type: 'bool'});
            });

            // 4.1 method to update the User model fields
            model.setFields(fields);

            // now load the current user (it will use the updated model)
            me.getCurrentUserStore().load();

        });

    }

});

The User模型和CurrentUser存储的创建与常规的非动态模型完全相同,并且存储将包含在各自的控制器数组中,“用户”模型只是缺少如上所示添加的动态字段。

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

使用 ExtJS 4 的动态模型 的相关文章

  • ExtJS“日期字段”验证覆盖

    我需要一个具有一些自定义行为的日期列 特别是我需要能够在同一字段中输入日期或年龄 年龄保持呈现为年龄 日期保持呈现为日期 例如 输入 23 将使 23 在字段中保留为有效值 或者输入 22 1 88 将使 22 1 88 保留为有效值 所以
  • 升级到 Grails 2.3.0 时 RESTful 请求缺少参数

    我正在使用 Grails 和 RESTful 来开发我的 Web 应用程序 一切正常 直到我将应用程序升级到 Grails 2 3 这是我的 UrlMappings 我仍然正常发送请求 提交或做一些其他事情 但在 POST PUT 请求中
  • ExtJS AJAX 另存为对话框

    我发出 ExtJS AJAX 请求 并且希望向用户显示标准浏览器 另存为 对话框 要下载的文件可以是 pdf jpg 或 png 文件 目前 AJAX 请求已成功提交 但由于它是异步的 因此不会出现对话框 我可以简单地不使用 AJAX 但是
  • 从 Ext.data.Store 访问 http 状态代码

    我有一个 http API 令人震惊的新技术 它对设置不同响应状态的不同错误做出反应 问题是 当使用 Ext data Store 和一些 XMLHttpRequest inside 代理时 处理这种状态的最佳方法是什么 据我所知 加载 事
  • Ext JS:xtype 有什么用?

    我看到 Ext JS 中有很多例子 其中不是实际创建 Ext JS 对象 而是一个带有xtype属性被传入 这有什么用 如果无论如何都要创建对象 性能增益在哪里 如果这是原因 xtype是识别特定组件的简写方法 panel Ext Pane
  • Ext.data.Store getTotalCount() 加载后不计算

    我的商店在调用时并不总是返回正确数量的记录getTotalCount 这个问题出现在我之后load 商店 我知道在检查时商店里有记录 我正在使用 ExtJs 4 1 3 this grid reference to my grid var
  • 查询具有特定 xtype 的子组件

    有没有一种方法可以查询 xtype yourxtype 的子组件 例如 您有一个面板 该面板内部是位于工具栏上的自定义 xtype findParentByType 非常适合查找 但没有像 findChildByType 这样的方法 并且
  • extjs 3.3:浮动面板

    我正在尝试在其他预先创建的面板上创建一个浮动面板 我尝试遵循简单的代码 但失败了 var testPanel new Ext Panel id testP width 50 height 100 floating true title Te
  • 单击父节点时检查树的子节点 [ExtJS]

    我想知道如何在单击 ExtJs 中的特定节点时检查树的同级节点 我已经给了每个节点的 id 我可以访问单击的节点的 id 那么我如何继续自动检查子节点 有人请帮助我 or any other way of getting hands on
  • 将 Flex 值动态添加到 extjs 中的控制器

    我在 视图 中给出了一些项目 容器 布局为hbox 现在我想给flex通过 控制器 为每个项目赋予值 我怎样才能做到这一点 我已经浏览了文档 但找不到任何类似的方法setFlex EDIT Ext apply Ext getCmp IdHe
  • Extjs 5,数据模型关联和加载嵌套数据

    试图让这项工作 我想在两个对象模型上加载嵌套数据 Ext application name MyApp launch function Ext define MyApp model Address extend Ext data Model
  • 删除在网格 ExtJS 4 中选择特定行的功能

    我必须删除在网格中选择某些行的功能 我使用复选框模型 selModel Ext create Ext selection CheckboxModel mode SIMPLE 要禁用选择 我使用 beforeselect 事件 befores
  • 如何使用 Sencha Touch 数据模型读取嵌套 JSON 结构?

    我整个晚上都在试图解决这个问题 但没有成功 我有一个 JSON 结构如下 来自另一个系统 所以我无法更改其结构 parents parent parentId 1 children child childId 1 ch
  • ExtJs 4,从容器中删除控件并将其从内存中删除的正确方法是什么?

    这个问题很简单 但我找不到一个好的 明确的答案 正确的方法是什么 从容器中删除控件 在 ExtJs 4 中将其从内存中删除 Ext AbstractContainer remove http dev sencha com deploy ex
  • 带有自定义按钮的 ExtJs 消息框

    如何使用自定义按钮显示 ExtJS 消息框 我想要一个带有自定义消息以及 取消 和 停用 按钮的消息框 请给一些想法 buttons text Cancel handler function Ext MessageBox hide subm
  • Sencha-touch :保存登录名/密码(保存会话,多任务)

    我有一个 Java Web 应用程序 其中移动部分是用 Sencha touch 开发的 当我启动 sencha touch 应用程序时 她询问我的登录名 密码 因为该应用程序的访问受到限制 但是我想保存用户的登录名 密码 sencha t
  • Extjs4 在 gridPanel 中每列悬停时设置工具提示

    我在当前列的每一行上获得鼠标悬停的工具提示 但在继续悬停在同一行上时无法获得下一列工具提示 但是 如果我将鼠标悬停在另一行上并再次将鼠标悬停在前一行的任何列上 我就可以得到它 listeners itemmouseenter functio
  • 如何使用 JSON 结果更新 Extjs 进度条?

    我在让进度条从 Json 结果中检索进度并根据每 10 秒的计时器检查更新进度条时遇到一些困难 我可以创建这样的 json 结果 success true progress 0 2 我想总体思路是 我需要一个间隔设置为 10 秒的任务 并让
  • Extjs - 为选项卡生成唯一的 url

    据我了解 ExtJS 使用 AJAX 进行所有服务器端通信 并且理想情况下每个应用程序只有一页 但我正在探索为 ExtJS 选项卡生成唯一 URL 的可能性 然后用户可以从地址栏复制该 URL 以供以后使用 传统 Web 应用程序方法 使页
  • 如何确定 ExtJS 4 中 Ext.grid.Panel 的选定单元格?

    我如何获取 Ext grid Panel 的选定单元格 在 ExtJS 3 中可以通过以下方式实现 grid getSelectionModel getSelectedCell 在分机4中有 grid getSelectionModel s

随机推荐

  • 如何阻止 cURL 使 PHP 会话陷入僵局?

    所以基本上 我使用 cURL 来调用我无法在 PHP 中本地实现的 API 但当我拨打电话时 我的 PHP 会话就会陷入僵局 我无法从浏览器中的另一个选项卡连接到我的网站 如果我删除会话cookie 我就可以正常连接 以前 当我在 cURL
  • 使用绑定填充路径数据属性时路径位置不正确

    我有一个硬编码Path形状在a的内部Canvas 我想在这个画布上有多个形状 所以我尝试将每个形状的信息推入一个类中 然后使用ItemsControl渲染每一个 当我使用ItemsControl 每个形状的位置都不正确 上方和左侧太远 显示
  • 在 Rust 中,如何从 HashMap 的键创建 HashSet?

    我有两个HashMaps 并想要计算键的交集 是否有可能构建一个HashSet出于任何HashMap keys 回报 例如 use std collections HashSet HashMap fn main let mut map1 H
  • MongoDB C# - 如何将任意 JSON 文档保存为动态类型?

    我正在尝试编写一个通用 Web Api 控制器 它允许我将 JSON 文档保存到集合中 而无需指定 C 类型 我尝试将代码压缩为要点 public class PassThroughController ApiController Rout
  • 协议字典 Swift 4

    我有一个名为 playable 的协议 需要实现func play Class Damage and DrawACard均符合协议 protocol Playable class func play game Game value Int
  • 在 MAC 控制台上使用 Python 2.7.15,virtualenv 创建具有不同版本 Python 的环境

    这是我在 Mac 中的控制台的摘录 您可以看到控制台上的 Python 是 2 7 15 但在环境中它变成了 2 7 10 这是一个旧版本 有关原因以及如何修复它的任何帮助将受到热烈欢迎 dhcp 18 57 Wakeup6 jbs pyt
  • Visual Studio 2017更新后代码颜色问题

    我以前用 VS 的深色主题很舒服 今天 我将 VS 更新为v 15 2 26430 4 但突然遇到了视觉问题 深色模式下代码的颜色很糟糕 我几乎看不清它们 有办法解决吗 谢谢 我找到了一些解决方法 通过取消选中Enable rich cli
  • 张量流将标签向量操纵为“多个热编码器”

    是否有可能 以一种很好的方式 在张量流中实现下一个功能 假设我们有一个密集的标签向量 labels 0 3 1 2 0 我需要制作一个 多个热编码器 意思是 对于每一行 我需要 1 到标签索引减 1 所以所需的结果将是 0 0 0 1 1
  • 出现错误 400 / 404 - HttpUtility.UrlEncode 未编码完整字符串?

    为什么以下 URL 会出现以下 IIS 错误 A http 192 168 1 96 cms View aspx Show Small test http 192 168 1 96 cms View aspx Show Small test
  • 如何在TThread中设置堆栈大小?

    如何设置自定义堆栈大小TThread 我正在尝试重新引入构造函数TThread但它说ThreadProc不见了 但它就在那里System Classes type TThreadHelper class helper for TThread
  • PHP - 访问 SPAN 值

    我是 PHP 新手 但我正在为订单表单编写电子邮件脚本 我拥有所有值以及表单中没有的内容 其中包含一个跨度用于 javascript 访问客户端的文本元素 我需要做的就是在发布时访问这些跨度值 HTML
  • 图灵完整性需要什么逻辑门?

    我儿子最近在玩小小大星球2 我注意到游戏编辑器允许与门 或门和非门 它是图灵完备吗 如果是这样 任何人都可以推荐一个学习资源 将这些原语转换成更高级别的条件 if 之类的东西吗 你不需要并且one ofAND 或 OR 能够完成所有二进制逻
  • 在 emacs 中调试 python 程序

    如何在 emacs 中调试 python 程序 我在用着python mode el 我发现参考文献建议 import pdb pdb set trace 但我不知道如何使用它 Type M x cd将目录更改为您要调试的程序的位置 类型M
  • headerenricher Spring 集成和 java dsl

    我使用 Spring Integration 和 java dsl 规范来实现我的 IntegrationFlow 我想使用自定义标头丰富器将一些文件名添加到标头 它将类似于 public class FileHeaderNamingEnr
  • 如何根据设置的主题更改flutter中的状态栏图标和文本颜色?

    如何在没有任何第三方插件的情况下更新状态栏图标的颜色 在我的主题类中 我有一个函数 我正在其中尝试下面的代码 但尚未取得结果 截至目前的主题代码 custom light theme for app static final customL
  • 有没有更有效的方法将我的图像划分为重叠的块?

    我想将图像划分为重叠的块 并单独处理这些块 并将每个矩阵的输出存储到一个矩阵中 我尝试过使用im2col但这根本不实用 我的代码是 kek im2col images m 1 64 64 sliding for i 1 size kek 2
  • 如何增加 Firebase 实时数据库 (v9) 中的值

    我注意到有关于如何在 Javascript v8 中增加实时数据库值的说明 添加了 ServerValue increment 以支持无需事务的原子字段值增量 API 文档在这里 使用示例 firebase database ref nod
  • C#:以与分配相反的顺序处理资源是否有优势?

    许多年前 我被告诫要尽可能以与分配方式相反的顺序释放资源 那是 block1 malloc block2 malloc do stuff free block2 free block1 我想象在 640K MS DOS 机器上 这可以最大限
  • ASP.Net MVC 6 + WebAPI Auth - 将 MVC 重定向到登录,但如果使用 WebAPI,则返回 401

    我有一个 AngularJS MVC WebAPI 我正在尝试 使用标准 个人账户 进行MVC认证 使用相同的用户和密码进行基于 WebAPI 的身份验证 问题是 从 AngularJS 来看 一切正常 cookie 交换发生 Web AP
  • 使用 ExtJS 4 的动态模型

    在 ExtJS 3 x 中 我能够使用 Store 的 fields 属性 但在 ExtJS 4 中我似乎必须绝对使用模型 这很好 但就我而言 它不是静态模型 我需要动态定义字段 有时还需要更改它们 我可以重新创建一个模型 但我需要使用不同