• sencha touch list ListPaging使用详解


    示例代码:

     1 Ext.define('app.view.message.List', {
     2     alternateClassName: 'messageList',
     3     extend: 'Ext.List',
     4     xtype: 'messageList',
     5     requires: ['Ext.plugin.ListPaging'],
     6     config: {
     7         cls: 'list',
     8         plugins: [{
     9             xclass: 'Ext.plugin.ListPaging'
    10         }],
    11         itemTpl: '<div class="title">{Title}</div><div class="sm">时间 {Time}&nbsp;&nbsp;&nbsp;&nbsp;发布来源:{Auth}</div><div class="like"><div class="ico comment">0</div></div>',
    12         store: 'messageList'
    13     }
    14 });

    store:

     1 Ext.define('app.store.MessageList', {
     2     extend: 'Ext.data.Store',
     3     config: {
     4         model: 'app.model.Message',
     5         storeId: 'messageList',
     6         //是否在app启动时自动加载数据,手动加载方法为store.load();或者store.loadPage(1);请自行查看api
     7         autoLoad: false,
     8         //每页显示数据条数,此参数传递到服务端
     9         pageSize: 7,
    10         proxy: {
    11             type: 'ajax',
    12             //服务端地址
    13             url: config.messageList,
    14             //分页每页显示条数名称,默认为limit,此参数传递到服务端
    15             limitParam: 'limit',
    16             //分页页码名称,默认为page,此参数传递到服务端
    17             pageParam: 'currentpage',
    18             reader: {
    19                 type: "json",
    20                 //服务端返回数据集数据源名称,用于指定数据源,可以不指定默认值为‘’
    21                 rootProperty: 'messagelist',
    22                 //服务端返回数据集数据总数名称,用于分页,默认值为total
    23                 totalProperty: 'count'
    24             }
    25         }
    26     }
    27 });

    Model:

     1 //校园咨询
     2 Ext.define('app.model.Message', {
     3     extend: 'Ext.data.Model',
     4     config: {
     5         fields: [{
     6             name: 'id',
     7             type: 'int'
     8         },
     9         {
    10             //标题
    11             name: 'Title',
    12             type: 'string'
    13         }]
    14     }
    15 });

    注:只有在model中定义的字段才能在list中显示,没有定义就算返回数据集中有个字段也不能显示,更不能进行过滤分组等操作

    服务端返回数据格式(json数据)为:

     1 {
     2     "messagelist": [{
     3         "id": 14466,
     4         "Title": "标题1"
     5     },
     6     {
     7         "id": 14467,
     8         "Title": "标题2"
     9     },
    10     {
    11         "id": 14468,
    12         "Title": "标题3"
    13     }],
    14     "count": 244
    15 }

    服务端返回多少条数据,list就展示多少条。所以不要天真的以为pageSize能决定一切,这个只是传递到服务端的参数而已

    效果图:

  • 相关阅读:
    iOS开发日记37-app加急审核
    iOS开发日记36-iOS中的依赖注入
    iOS开发日记35-事件处理机制与图像渲染过程
    iOS开发日记34-国际化
    iOS开发日记33-hit-Test
    iOS开发日记32-详解多线程(死锁)
    iOS开发日记31-详解Block
    iOS开发日记30-Autolayout
    springMVC js等文件找不到解决方法
    jQuery UI 中Tabs Ajax载入时出现Http 304的问题
  • 原文地址:https://www.cnblogs.com/mlzs/p/3323856.html
Copyright © 2020-2023  润新知