【问题标题】:Sencha Touch Cannot call method 'substr' of null on Loacations:10Sencha Touch 无法在 Loacations:10 上调用 null 的方法“substr”
【发布时间】:2013-02-14 15:24:39
【问题描述】:

您好,正如标题所说,我突然收到此错误而没有更改任何内容。 这是文件位置代码:

Ext.define('Wickelplaetze.store.Locations', {
extend: 'Ext.data.Store',
requires: 'Wickelplaetze.model.Location',

config: {
    model: 'Wickelplaetze.model.Location',
    storeId: 'locationsstore',
    grouper: {
        groupFn: function(record) {
            return record.get('ort').substr(0, 1);
        },
        sortProperty: 'ort'
    },
    proxy: {
        type: 'ajax',
        url: 'http://freakp.com/wpapp/form-data.json',
        withCredentials: false,
        useDefaultXhrHeader: false
    },
    autoLoad: true
}   

});

【问题讨论】:

    标签: sencha-touch touch substring substr


    【解决方案1】:

    您的 json 中有 null 值,用于键 ort。你可以检查ort是否不为空然后return like -

     if(record.get("ort")!= null){
         return record.get('ort')[0];
     }
    

    这样做会消除该错误。但这不会正确排序记录。

    还有一点,如果要按ort的首字母排序,可以直接使用-

    return record.get("ort")[0];

    当我尝试使用您的代码填充列表时,它实际上是无限运行的。我什么也没得到。对这么多值进行排序非常慢。填充列表需要 3 分钟。

    更新

    Link for working fiddle 为您的示例。您可以在列表底部看到空值。键 ort 有 7 个空值。

    【讨论】:

    • @FredRickAkpotosu-Nartey 很高兴我能帮助你。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多