Sencha Touch 2.0 List滚动实例

onReady: function()

{

        //定义数据结构

        Ext.define('Contact', {
            extend: 'Ext.data.Model',
            fields: ['firstName', 'lastName']
        });

     

     //定义数据内容

      var store = Ext.create('Ext.data.Store', {
            model: 'Contact',
            sorters: 'lastName',

            getGroupString: function(record) {
                return record.get('firstName')[0];
            },

            data: [
                  { firstName: 'Tommy', lastName: 'Maintz' },
                  { firstName: 'WdTommy1', lastName: '2' },
                  ]
        });

         //定义List

         var list = Ext.create('Ext.List', {
            fullscreen: true,
            itemTpl: '<div class="contact">{firstName} <strong>{lastName}</strong></div>',
            store: store,
            onItemDisclosure: function(record) {
               alert(record.data.firstName);
            },
        });

 

       //注册滚动的监听事件  用于分页
        list.getScrollable().getScroller().on('scrollend', function(scroller, offset) {
                   console.log(offset.y); 
                   console.log(scroller.maxPosition.y);
                   if(offset.y >= scroller.maxPosition.y) //到底部
                   {

                        //加载下一页数据
                        list.getStore().loadData([
                        { firstName: 'fwt', lastName: '' }
                        ],true);
                   }       
        });

}

注意以下几点,与2.0以下版本不同。

list.getStore() //活动List的数据内容

list.getScrollable().getScroller() //获取List的滚动条对象

offset.y       //当前滚动条的y坐标值

scroller.maxPosition.y   //窗体滚动条的最大Y坐标值

posted @ 2014-12-24 15:07  lanyan  阅读(129)  评论(0编辑  收藏  举报