如何在ExtJs商店中使用过滤器?

2024-06-21

我使用 ExtJs 创建了一个商店,我想将商店的值加载到 ComboBox。但在加载值之前,我需要根据另一个组合框中选择的值过滤一些数据。

因此,为了这个目的,我认为我需要在商店应用过滤器,请任何人都可以帮助我如何做到这一点。

Model:-

Ext.define('City', {
extend: 'Ext.data.Model',
fields: [
        { name: 'StateId', type: 'string' },
        { name: 'City', type: 'string' },
]});

Store:-

var cityStore = Ext.create('Ext.data.Store', {
model: 'City',
data : [
    { StateId: '1', City: 'Bangalore'},
    { StateId: '1', City: 'Mysore'},
    { StateId: '1', City: 'Dharwad'},
    { StateId: '2', City: 'Mumbai'},
    { StateId: '2', City: 'Pune'},
    { StateId: '2', City: 'Nagpur'}
   ]});

现在我正在使用这个城市商店加载到组合框中。但在加载之前我想要如果状态ID为1那么只有3条记录(班加罗尔、迈索尔、达瓦德)加载到组合框中,如果状态 ID 为 2然后其他 3 条记录加载到组合框中。我怎样才能实现它。


根据Ext.data.Store过滤器 http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Store-method-filter方法文档:

var stateId = 1; // your value
cityStore.clearFilter(true);
cityStore.filter('StateId', stateId);

Update

我发现 ComboBox 会自行过滤数据,并且没有机会更改其行为。但我看到这个问题的两个解决方案:

  1. 手动过滤数据(参见Ext.util.MixedCollection 过滤器 http://docs.sencha.com/ext-js/4-1/#!/api/Ext.util.MixedCollection-method-filter)并将其加载到您的商店中(请参阅Ext.data.Store加载 http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Store-method-load)

  2. 禁用商店的clearFilter and filter方法并使用自己的cityFilter:

    Ext.define('CityStore', {
        extend: 'Ext.data.Store',
        filter: Ext.emptyFn,
        clearFilter: Ext.emptyFn,
        cityFilter: function (stateId) {
            Ext.data.Store.prototype.clearFilter.call(this);
            Ext.data.Store.prototype.filter.call(this, 'StateId', stateId);
        }
    });
    

    然后使用cityFilter() method.

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

如何在ExtJs商店中使用过滤器? 的相关文章

  • 如何使 svg 元素(例如矩形)scrollIntoView?

    我在图形面板中有一个 svg svg 中的所有节点都在另一个面板中列出 我希望通过单击节点列表中的节点 svg 可以滚动到该节点 每个节点都是一个矩形 但我发现只有上边框在视图中 而节点的其余部分仍然在视图之外 有什么办法可以解决这个问题吗
  • 如何使用带有数据绑定的 Ext5 组合框

    我想使用一个组合框 它从数据绑定接收预选值 并且还从同一存储的数据绑定接收可能的选项 面板项配置如下所示 xtype combobox name language default fieldLabel Default Language mu
  • 如何使 extjs 手风琴垂直滚动

    在这里摆弄 https fiddle sencha com fiddle 5gv 如果手风琴中有很多面板 它们就会在垂直方向上相互碰撞 并且无法扩展 我想让手风琴的总高度等于标题的高度加上一个面板主体的高度 展开 然后父面板应该只有一个滚动
  • Extjs 4(下面有3.4的代码)下载从post请求返回的文件

    我看到了与此略有相关的问题 但没有一个能回答我的问题 我设置了 Ext Ajax request 如下 var paramsStringVar param1 1 param2 two param3 something param4 etc
  • 在ExtJS中,调用Model.save()还是Store.Sync()更好?

    每一个的后果是什么 我看到Model save 例如 使用服务器的结果自动刷新模型 我不确定是否sync does 使用服务器的结果自动刷新模型 Store sync 也会刷新修改的记录 前提是您已正确设置服务器响应 因此 从技术上讲 这两
  • ExtGWT 与 ExtJS [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 当开始一个新的应用程序时 您会权衡哪些因素来决定是使用 ExtGWT 还是 ExtJS 对于同时了解 Javascript 和 Java 的程序
  • Sencha Cmd v4.0.2.67 创建后台进程失败

    我有一个使用 Sencha Command v4 0 2 67 生成的单页 ExtJS 应用程序 我正在尝试使用 Sencha Command v4 0 2 67 和以下命令进行构建 sencha app refresh sencha ap
  • AJAX Webmethod 调用在 MVC3 上返回 404

    我一直在使用 EXTJS 4 并通过 AJAX 调用 aspx 页面代码隐藏上的 Webmethod 来加载我的商店 此方法适用于我的所有项目 直到我尝试将 EXTJS 4 工作移植到 MVC3 项目中 我的电话现在返回 404 关键部分是
  • ExtJS 中的面包屑导航

    如何在 ExtJS 设计中显示面包屑功能 我正在使用带有边框布局的面板 我想在面板顶部设计碎屑功能 请寄给我一些样品 提前致谢 我想到了两种解决方案 使用面板标题 您将必须操纵面板的标题并在其上创建面包屑 您必须创建面包屑文本 并将其设置为
  • 如何确定 ExtJS 4 中 Ext.grid.Panel 的选定单元格?

    我如何获取 Ext grid Panel 的选定单元格 在 ExtJS 3 中可以通过以下方式实现 grid getSelectionModel getSelectedCell 在分机4中有 grid getSelectionModel s
  • 树的子节点/节点上的单击事件

    我真的对 ExtJs 树对象感到困惑 我的代码有问题 但我不知道是什么 考虑我有这个代码 var store Ext create Ext data TreeStore root expanded true children text de
  • 当我尝试使用 jasmine 进行测试时,应用程序文件夹未在 Ext.appliation 中加载

    我正在尝试在我的应用程序 Ext js 5 中实现茉莉花以进行单元测试 为此 我创建了应用程序测试文件 Ext require Ext app Application Ext Loader setConfig enabled true Ex
  • ExtJS 4:克隆商店

    我正在尝试找出如何克隆Ext data Store不保留旧的参考 让我用一些代码更好地解释一下 这是源商店 var source Ext create Ext data Store fields name age data name foo
  • 如何从视图中获取应用程序?

    如何从视图中获取我的应用程序 例如 考虑我有一个应用程序Boo有一个名为Boo view Foo List我想要得到Boo在视图中List Edit 查看这段代码 并查看第 20 行 Ext define Boo view Foo List
  • Auth0 isAuthenticated() 始终为 false

    我正在使用 Extjs 并且我用过本教程 https github com auth0 samples auth0 javascript samples tree master 01 Login设置应用程序和 auth0 这是登录代码 us
  • 如何在 EXTJS 中使用全局函数/实用类

    我的代码结构如下 gt MyApp gt 应用程序 gt 控制器 模型 存储 共享 util gt Utility js 视图 我创建了以下实用程序类 Ext define MyApp shared util Utilities myFun
  • ExtJS:使用“记住我”功能登录

    我正在尝试创建一个具有非常常见的 记住我 功能的简单登录窗口 登录验证是通过 AJAX 风格完成的 因此浏览器不会记住我的输入 我的方法是使用内置的state功能 但是如何使用它让我很困惑 Ext state Manager setProv
  • ExtJs 中的属性网格

    我有一些存储 这是形成的数据 在面板上 它看起来如何 fieldName 和文本字段 取决于调用的表单 例如 在一种表单上显示 名称文档 和字段 在另一种表单上显示 销售日期和日期字段 数据是动态形成的 这里是商店 tableTempSto
  • Mootools和ExtJs 4.x似乎不兼容,如何解决?

    Mootools 和 ExtJs 在同一页面上使用时存在兼容性问题 Mootools 抛出以下错误 Uncaught TypeError Property id of object
  • 为什么 ExtJS 4.2.1 手风琴布局的第一个面板永远不会关闭?

    我有一个带有三个面板的 ExtJS 4 2 1 手风琴布局 当应用程序首次启动时 第一个面板打开 第二个 第三个面板关闭 我可以打开和关闭第二个和第三个面板 但我永远无法关闭第一个面板 Ext define MyAccordion exte

随机推荐

  • 如何简洁地计算 Julia 数组中行项的差异百分比

    Given C reshape 1 0 2 0 1 1 2 2 1 2 2 3 2 3 这给了我以下 3 x 2 数组 3 2 Array Float64 2 1 0 2 0 1 1 2 2 1 2 2 3 我想要做的是迭代行并获取项目之间
  • CSS 旋转轮在 5 秒后停止?

    我正在使用我在小提琴上找到的 CSS 代码来旋转我的轮子 http jsfiddle net gaby 9Ryvs 7 http jsfiddle net gaby 9Ryvs 7 div margin 20px width 100px h
  • C# 中的 mshtml.HTMLDocumentClass

    在 C 中 我设法从 InternetExplorer 对象获取整个 HTMLDocumentClass 导航到某个 URL 然而 在 Visual Studio 2008 的调试模式下 该特定 URL 的 HTMLDocumentClas
  • issubclass() 对从不同路径导入的同一类返回 False

    目的是实现某种插件框架 其中插件是同一基类 即 A 的子类 即 B 基类使用标准导入加载 而子类使用 imp load module 从众所周知的包 即 pkg 的路径加载 pkg init py mod1 py class A mod2
  • Docker-compose 和 Rails 控制台问题。 “在任何来源中都找不到 rake-13.0.6”

    尝试在 docker 下运行 Rails 控制台时遇到一些问题 所有其他 Rails 命令都按预期工作 但控制台却不然 octopus git master docker compose run web bundle exec rails
  • 如何在 JavaScript 中获取浮点数的小数位?

    我想要的是与 Number prototype toPrecision 几乎相反的 这意味着当我有数字时 它有多少位小数 例如 12 3456 getDecimals 4 对于任何想知道如何更快地完成此操作 无需转换为字符串 的人 这里有一
  • TYPE_ACCELEROMETER 和 TYPE_LINEAR_ACCELERATION 传感器有什么区别?

    I think TYPE ACCELEROMETER显示设备加速 但是 我不明白什么时候应该使用TYPE LINEAR ACCELERATION 我需要计算移动设备的速度 哪种传感器适合此应用 另外 我读到TYPE LINEAR ACCEL
  • 在测试期间调用预定方法[重复]

    这个问题在这里已经有答案了 我正在使用 Maven 开发 SpringBoot 应用程序 我有一个班级 Component有方法的注释m与 Scheduled initialDelay 1000 fixedDelay 5000 注解 这里f
  • 从 Angular2 模块导出时遇到问题

    我是 Angular 2 的初学者 我试图了解如何从功能模块导出类 并将其导入到我的主模块中 当我尝试在打字稿中编译它时 我收到以下两个错误 app app component ts 11 21 错误 TS2304 找不到名称 添加服务 a
  • Laravel 使用 laravel-cors 和 axios 进行 POST 的“CSRF 令牌不匹配”

    我有一个正在运行的domain A拉拉维尔 5 8返回 API 的引擎网络路线 它必须检查来源才能只服务几个域 包括domain B Barryvdh laravel cors我安装了barryvdh laravel cors https
  • 在Python中从日期时间中减去秒

    我有一个 int 变量 它实际上是秒 让我们调用这个秒数X 我需要得到当前日期和时间 以日期时间格式 减去的结果X秒 Example If X是 65 当前日期是2014 06 03 15 45 00 那么我需要得到结果2014 06 03
  • 在数据库准备好之前运行 Jest 测试

    我正在使用 Jest 来测试我的带有 SQLite 数据库的 Express API 但是出现了以下问题 测试在数据库准备好并创建表之前运行 我使用以下代码连接到数据库 const connectToDatabase gt let db i
  • GitLab Runner 重启后不会自动拾取作业

    所以我们的 GitLab Runner 已经正常运行了几周了 我必须进行一些升级 需要在安装它的计算机上重新启动 重新启动后 它不再自动拾取作业 我所有的管道都说它们被卡住了 因为没有跑步者可以接替工作 我通过 SSH 连接到机器并运行 s
  • RecyclerView元素更新+异步网络调用

    我有一个按预期工作的回收视图 我的布局中有一个按钮可以填充列表 该按钮应该进行异步调用 根据结果 我更改按钮的外观 这一切都发生得很好 但是 当我单击按钮并快速向下滚动列表时 异步调用的结果会更新新视图的按钮 代替旧视图的视图 我该如何处理
  • iOS 上的推送通知渐进式 Web 应用程序

    我需要开发一个集成了推送通知的渐进式网络应用程序 在网上搜索我发现了关于这个主题的不同意见 如果我理解正确的话 目前我们无法在移动版 safari 中推送通知 但仅限桌面版 这样对吗 你有什么建议来获得相同的结果吗 我不是iOS专家 我想知
  • 在游戏中实现功能

    我在完成这部分作业时遇到了麻烦 我必须宣布游戏的获胜者 然后输入到函数中 输入所有 if 语句后 我必须创建一个函数def playGame 这必须包括 showRules user getUserChoice computer getCo
  • 无法在 mongodb 中创建角色

    我正在尝试在 mongodb 中创建一个新角色 但它给了我错误 gt use Admin switched to db Admin gt db createRole role executeFunctions privileges reso
  • 使用属性和性能

    我正在优化我的代码 我注意到使用属性 甚至自动属性 对执行时间有深远的影响 请参阅下面的示例 Test public void GetterVsField PropertyTest propertyTest new PropertyTest
  • SambaFileInputStream 和 FileInputStream 有什么不同?

    我需要从 samba 服务器流式传输视频 并且我使用 nanohttpd 在我的项目中创建简单的服务器 当我使用本地文件中的 fileinputstream 时 视频视图可以按设置播放视频 http localhost 8080 publi
  • 如何在ExtJs商店中使用过滤器?

    我使用 ExtJs 创建了一个商店 我想将商店的值加载到 ComboBox 但在加载值之前 我需要根据另一个组合框中选择的值过滤一些数据 因此 为了这个目的 我认为我需要在商店应用过滤器 请任何人都可以帮助我如何做到这一点 Model Ex