繁体   English   中英

Sencha Touch过滤器数据视图存储和刷新列表

[英]Sencha Touch filter dataview store and refresh list

似乎很容易,但是在数小时的浪费时间之后,我必须问一下。

我有一个嵌套的dataview列表,其中包含从api填充的存储。 每条记录整齐且易于解析。 像这样:

 title: 'some title'
 starred: false       // some are "starred: true" and thats what I want
 state: 1
 statetyped: 1

我只需要轻按一个标有“已加星标”的按钮,然后过滤列表以仅显示已加星标的项目。

我已经在阳光下尝试了一切,包括:

    sto.filterBy(function(record){
        var title = record.get('starred');
        if(title == "true" || title == true)
            return record;
    });

    //doesnt work 

    sto.filter(function (record) {
        if (record.data.starred == true) {
            return record;
        }
    });

    //same, doesn't work

我什至感到绝望,并用underscore.js过滤了列表,创建了一个新商店并尝试加载该新商店,但无济于事。


控制台错误是: 未捕获的TypeError:无法调用null的方法“ detach” (Default.js?_dc = 1392147674804:140)

如果有帮助:

我的数据视图视图: http : //jsfiddle.net/8ycnR/
列表控制器: http : //jsfiddle.net/a7ZaX/

如果您在模型中将加starred字段类型配置为bool ,则只需使用Ext.data.Store filter()方法即可。

作为第一个参数,您应传递属性名称,并作为第二个参数值,以下列方式过滤:

sto.filter('starred', true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM