最近在做 Sencha 的一个项目,需要用到 Ext.List 来列出所需商品及相关信息,平时我们使用 Ext.List 都是使用 fullscreen:true 来设置 List 全屏显示,
但是现在需求是 Panel 中嵌套 一个 List 效果如下图所示:
显然这时候是不能用 fullscreen:true 的,所以我们要给它设置显示的高度,通过 setHeight() 的方法,
如果没有设置高度是不会显示的,这里要注意一下。
代码实现如下:
<span style="font-size:14px;">Ext.define('GoodInfo',{ extend: 'Ext.data.Model', config: { fields: ['title', 'fu_title', 'price', 'img_url'] } });</span>
<span style="font-size:14px;"> var goodStore = Ext.create('Ext.data.Store',{ model: 'GoodInfo', autoLoad: true, proxy: { type: 'ajax', url: './json/goods.json', reader: { type: 'json', rootProperty: 'goods' } } });</span>
<span style="font-size:14px;"> var goodTemplate = new Ext.XTemplate( '<tpl for=".">', '<div class="Book-item">', '<div class="Book_img"><img src="{img_url}"/></div>', '<div class="Book_info">', '<h2>{title}</h2><br><h3>{fu_title}</h3><br><h2>{price}</h2>', '<p>{description:ellipsis(40)}</p>', '</div>', '</div>', '</tpl>' );</span>
<span style="font-size:14px;">//这个是固定高度的 List 实现 var myList = Ext.create('Ext.List',{ height: 200, //这个高度设置很重要,没有高度是不会显示的 store: goodStore, itemTpl: goodTemplate }); </span>
<span style="font-size:14px;">//这个是高度自适应的 List 实现 Ext.define('MyList', { extend: 'Ext.List', xtype: 'commentList', cls: 'myList', config: { itemHeight: 120, scrollable: { disabled: true }, store: goodStore, itemTpl: goodTemplate }, refresh: function() { var count = this.getStore().getCount(); if(count){ this.setHeight(this.getItemHeight()* count); } this.callParent(arguments); } }); </span>
<span style="font-size:14px;"> Ext.define('Ext.ux.HomePanel', { extend : 'Ext.form.Panel', // 继承 Ext.form.Panel 实现面板可以滚动,Ext.Panel 默认不可以 xtype : ['homepanel'], requires: ['MyList'], config : { layout: { type: 'vbox' }, items : [ <span style="white-space:pre"> </span>{ <span style="white-space:pre"> </span>xtype: 'commentList' //把 List 添加到 Panel 上 <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>] <span style="white-space:pre"> </span>} }); </span>
相关文章分享:
http://www.ithao123.cn/content-8144041.html
http://blog.sina.com.cn/s/blog_43b191a901017lmv.html
http://www.cnblogs.com/kenshincui/archive/2011/01/02/1924035.html