`
ysa198584
  • 浏览: 36939 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

EXTjs4.1 的store的findRecord的BUG.

 
阅读更多
在findRecord方法调用了 findRecord: function()这个方法
findRecord: function() {
        var me = this,
            index = me.find.apply(me, arguments);
        return index !== -1 ? me.getAt(index) : null;
    },
进入find方法
find: function(property, value, start, anyMatch, caseSensitive, exactMatch) {
        var fn = this.createFilterFn(property, value, anyMatch, caseSensitive, exactMatch);
        return fn ? this.data.findIndexBy(fn, null, start) : -1;
    },
createFilterFn方法
    createFilterFn: function(property, value, anyMatch, caseSensitive, exactMatch) {
        if (Ext.isEmpty(value)) {
            return false;
        }
        value = this.data.createValueMatcher(value, anyMatch, caseSensitive, exactMatch);
        return function(r) {
            return value.test(r.data[property]);
        };
    },
findIndexBy : function(fn, scope, start){
        var me = this,
            keys = me.keys,
            items = me.items,
            i = start || 0,
            len = items.length;

        for (; i < len; i++) {
            if (fn.call(scope || me, items[i], keys[i])) {
                return i;
            }
        }
        return -1;
    },
请注意
value.test(r.data[property]);有BUG的地方就出在这里
我这里用property是"ID"字段.
这里是查询ID==1的这条记录record,
它通过这个循环来做的
  for (; i < len; i++) {
            if (fn.call(scope || me, items[i], keys[i])) {
                return i;
            }
        },
即每次都调用
value.test(r.data[property])
这个判断是通过正则表达式来做的,
大家可以测试一下这个情况
var  value=new RegExp('1');
var b=value.test('15')//这个是返回成功的。
我想大家都知道原因了,
当判断ID=1的时候,遇到1开头的ID的时候,这个时候就判断出问题了。
分享到:
评论

相关推荐

    Extjs4.1自动提示插件sdk.jsb3

    extjs4.1不支持spket的代码提醒和自动完成功能,是因为sdk.jsb3这个文件有很多路径都弄错了,如:"../../platform/core/src/"被写成了 "../platform/core/src/",把修改好的sdk.jsb3共享给大家,希望对大家有帮助

    Extjs4.1中文API指南.chm

    Extjs4.1中文API.chm

    ExtJs4.1中文API离线BS版

    这个“ExtJs4.1中文API离线BS版”提供了完整的中文文档,方便开发者在没有网络连接或者网络环境不稳定的情况下查阅。 1. **EXTJS4.1中文API**: ExtJS 4.1的中文API文档包含了框架的所有类、方法、属性和事件,这...

    Extjs4.1(修改后的sdk.jsb3)

    ExtJS 4.1 是一个流行的JavaScript框架,用于构建富客户端Web应用程序。它提供了一整套组件、布局管理和数据绑定机制,使得开发者可以构建复杂的用户界面。`sdk.jsb3` 文件是Sencha SDK Tools的一部分,它在ExtJS...

    Extjs4.1 小例子(适合extjs初学者学习使用)

    对于初学者来说,理解并掌握ExtJS 4.1的基础和特性是非常有益的。 标题中的"Extjs4.1 小例子"意味着这个压缩包包含了一些基础的示例代码,旨在帮助初学者快速入门。通过这些小例子,你可以了解如何使用ExtJS 4.1来...

    extjs4.1修改bug版本

    extjs4.1修改bug版本,已修改数字、日期等多个控件的问题

    extjs4.1-ux.rar

    Extjs4.1多个扩展 1、Ext.ux.aceeditor.Panel 2、Ext.ux.grid.feature.Tileview 3、Ext.ux.upload.Button 4、Ext.ux.toggleslide.ToggleSlide 5、Ext.ux.container.ButtonSegment 6、Ext.ux.grid.plugin.RowEditing ...

    ExtJs 4.1 正确的sdk.jsb3文件

    extjs4.1自带的sdk.jsb3文件里面的路径所有都是错误的。 现在已经将路径修改好了,可以在spket中使用了。

    extjs4.1中文文档

    extjs4.1的中文文档,可以方便查看API

    ExtJs4.1 正式版

    ExtJs4.1 正式版,考虑到官网速度慢,放上来服务大家!

    ExtJs4.1 swfupload 多文件上传实例

    前后台已经融合 解压放在.net 3.5下就可以运行 包含 Extjs4.1 UploadPanel.js swfupload.js swfupload.swf swfupload_fp9.swf Upload.aspx Upload.aspx.cs UploadPanel.htm upload

    ExtJS4.1实现的mvc模式经典入门案例

    在ExtJS 4.1中,引入了强大的MVC(Model-View-Controller)模式,这是一种设计模式,有助于组织和分离应用程序的不同部分,使得代码更加模块化、可维护。本案例将深入探讨如何使用ExtJS 4.1实现MVC模式。 **一、...

    ExtJs 4.1 中文版api

    Extjs 4.1中文版api,非常难得的一款4.1的中文api,值得大家收藏

    ExtJS 4.1 中文版API帮助文档下载

    ExtJS 4.1 中文版API [脚本娃娃---开源文档翻译组]历时一年多完整翻译。 在此友情扩散下载,非常完整详细! 学习ExtJS必备的帮助文档,而且对其中的API进行了汉化,更有利于ExtJS的学习!

    spket ExtJs4.1 全提示.路径ok.

    spket路径ok ext4.1配置,在build 目录下,直接引用,全提示。你懂得,爽...

    ExtJS4.1学习心得及源码

    ExtJS4.1学习心得及源码 目录 一、安装与配置 二、第一个ExtJS例子 三、表格 四、从XML读取数据表格 五、按钮 六、ComboBox控件 七、Panel面板 八、Viewport 九、表单Form 十、窗口 十一、消息对话框 十二...

    extjs 4.1 beta 预览版

    2. Bug修复:EXTJS 4.1的预览版重点在于修复了大量的已知问题。这些bug的修复不仅提高了软件的稳定性,还减少了开发者在调试过程中可能遇到的问题,从而提高开发效率。 3. API调整与增强:EXTJS 4.1可能包含了一些...

    Extjs 4.1 下拉框 Tree 的实现(mvc)

    本文将深入探讨如何在ExtJS 4.1环境中利用MVC架构实现一个功能丰富的下拉框(Tree ComboBox),并结合具体代码示例进行详细解析。 ### ExtJS 4.1 下拉框Tree实现(MVC) #### 1. MVC架构简介 MVC,即Model-View-...

    100行代码解决ExtJs4.1合并单元格问题

    100行代码解决ExtJs4.1合并单元格问题

Global site tag (gtag.js) - Google Analytics