最近在做 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

关注公众号,分享干货,讨论技术

Sencha touch中Ext.List的使用及高度自适应的更多相关文章

  1. 【翻译】在Ext JS和Sencha Touch中创建自己定义布局

    原文:Creating Custom Layouts in Ext JS and Sencha Touch 布局系统是Sencha框架中最强大和最独特的一部分.布局会处理应用程序中每个组件的大小和位置 ...

  2. 【翻译】在Ext JS和Sencha Touch中创建自定义布局

    原文:Creating Custom Layouts in Ext JS and Sencha Touch 布局系统是Sencha框架中最强大和最独特的一部分.布局会处理应用程序中每个组件的大小和位置 ...

  3. 【翻译】在Sencha Touch中创建离线/在线代理

    原文:Creating an Online/Offline proxy in Sencha Touch 概述 在Sencha Touch中,一个常见的需求就是,当设备在没有连接互联网的时候,应用程序必 ...

  4. Sencha Touch 之 Ext.ComponentManager.get方法使用

    HTML代码: <!doctype html> <html> <head> <meta charset="utf-8"> <t ...

  5. Sencha Touch 之 Ext.fly方法的使用

    Ext.fly方法是Ext.js 4中的flyweight技术,该技术在浏览器中为使用Ext.fly方法的元素节点开辟一块内存,下一次使用Ext.fly方法的元素节点将占据同一块内存,即覆盖前一次的元 ...

  6. Sencha Touch中 xclass和xtype区别

    1.xclass 就是 Ext.create(xclass) 和 xtype一样的性质,不一定非要是自己创建的. 2.xtype是xclass的简称. 3.使用xtype前,你要new的对象,先要re ...

  7. sencha touch中按钮的ui配置选项值及使用效果

  8. 关于sencha touch中给文本添加焦点无效的解决方案

    目前的解决方案是给你的执行代码加上一个timeout延迟100ms+ setTimeout(function(){ SoftKeyboard.isShowing(function(isShowing) ...

  9. 再探 Ext JS 6 (sencha touch/ext升级版) 变化篇 (编译命令、滚动条、控制层、模型层、路由)

    从sencha touch 2.4.2升级到ext js 6,cmd版本升级到6.0之后发生了很多变化 首先从cmd说起,cmd 6 中sencha app build package不能使用了,se ...

随机推荐

  1. 两种方法实现Python二分查找算法

    两种方法实现Python二分查找算法   一. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 arr=[1,3,6,9,10,20,30] def findnumber( ...

  2. 详解jQuery中 .bind() vs .live() vs .delegate() vs .on() 的区别

    转载自:http://zhuzhichao.com/2013/12/differences-between-jquery-bind-vs-live/ 我见过很多开发者很困惑关于jQuery中的.bin ...

  3. java 日期格式 毫秒 表示方法

    参考URL:http://www.busfly.net/csdn/post/java_string_fomat_date_time_simpledateformat.html 关键代码: java.t ...

  4. Delphi实例之一个简易的浏览器的实现

    Delphi实例之一个简易的浏览器的实现 Delphi7的WebBrowser组件提供了很多不错的网页设计的功能,下面做一个简单的浏览器.组件很简单按照下面摆放就行了. 这是运行后的效果 源代码 主页 ...

  5. Vue学习(二):class与style绑定

    <!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml&q ...

  6. ubuntu 开热点

    原文地址:https://www.cnblogs.com/king-ding/archive/2016/10/09/ubuntuWIFI.html 今天教大家一个简单方法让ubuntu发散wifi热点 ...

  7. vue实战(一):利用vue与ajax实现增删改查

    vue实战(一):利用vue与ajax实现增删改查: <%@ page pageEncoding="UTF-8" language="java" %> ...

  8. linux 命令小结(随时更新)

    代码备份命令: tar cvf 备份文件名 要备份的目录名 查看Linux服务器内存使用情况: 1.free命令 free -m [root@localhost ~]# free -m        ...

  9. Mac上利用Aria2加速百度网盘下载

    百度网盘下载东西的速度那叫一个慢,特别是大文件,看着所需时间几个小时以上,让人很不舒服,本文记录自己在mac上利用工具Aria2加速的教程,windows下思路也是一样! 科普(可以不看) 这里顺带科 ...

  10. 【SSH】——两种添加jar包方式的比较

    [前言] 在开发过程中,我们对Eclipse或MyEclipse等IDE越来越熟悉了.在使用的过程中,小编了解到两种添加jar包的方式,今天给大家说下这两种方式的差别. 方法一: 将所需要的jar包拷 ...