Sencha touch中Ext.List的使用及高度自适应
最近在做 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的使用及高度自适应的更多相关文章
- 【翻译】在Ext JS和Sencha Touch中创建自己定义布局
原文:Creating Custom Layouts in Ext JS and Sencha Touch 布局系统是Sencha框架中最强大和最独特的一部分.布局会处理应用程序中每个组件的大小和位置 ...
- 【翻译】在Ext JS和Sencha Touch中创建自定义布局
原文:Creating Custom Layouts in Ext JS and Sencha Touch 布局系统是Sencha框架中最强大和最独特的一部分.布局会处理应用程序中每个组件的大小和位置 ...
- 【翻译】在Sencha Touch中创建离线/在线代理
原文:Creating an Online/Offline proxy in Sencha Touch 概述 在Sencha Touch中,一个常见的需求就是,当设备在没有连接互联网的时候,应用程序必 ...
- Sencha Touch 之 Ext.ComponentManager.get方法使用
HTML代码: <!doctype html> <html> <head> <meta charset="utf-8"> <t ...
- Sencha Touch 之 Ext.fly方法的使用
Ext.fly方法是Ext.js 4中的flyweight技术,该技术在浏览器中为使用Ext.fly方法的元素节点开辟一块内存,下一次使用Ext.fly方法的元素节点将占据同一块内存,即覆盖前一次的元 ...
- Sencha Touch中 xclass和xtype区别
1.xclass 就是 Ext.create(xclass) 和 xtype一样的性质,不一定非要是自己创建的. 2.xtype是xclass的简称. 3.使用xtype前,你要new的对象,先要re ...
- sencha touch中按钮的ui配置选项值及使用效果
- 关于sencha touch中给文本添加焦点无效的解决方案
目前的解决方案是给你的执行代码加上一个timeout延迟100ms+ setTimeout(function(){ SoftKeyboard.isShowing(function(isShowing) ...
- 再探 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 ...
随机推荐
- CentOS搭建Sqoop环境
Sqoop是一个用来将Hadoop(Hive.HBase)和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL ,Oracle ,Postgres等)中的 ...
- 如何在windows“我的电脑”中添加快捷文件夹
如图所示,windows中打开“我的电脑”时,原来有6个默认的文件夹,访问非常便捷,自己想再增加,可以使用“ThisPCTweaker”即可完成 操作如下图,不多解释,简单操作: 文件下载:http: ...
- 5 多线程 模拟qq聊天
1.多线程思路 使用多线程完成一个全双工的QQ聊天程序 2.版本1:程序小框架 #1.收数据,然后打印 def recvData(): pass #2.检测键盘,发数据 def sendData(): ...
- 大数据培训班 cloudera公司讲师面对面授课 CCDH CCAH CCP
大数据助力成就非凡.大数据正在改变着商业游戏规则,为企业解决传统业务问题带来变革的机遇.毫无疑问,当未来企业尝试分析现有海量信息以推动业务价值增值时,必定会采用大数据技术. 目前对大数据的分析工具,首 ...
- Hibernate-ORM:16.Hibernate中的二级缓存Ehcache的配置
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客讲述Hibernate中的二级缓存的配置,作者将使用的是ehcache缓存 一,目录 1.二级缓存的具 ...
- Epplus下的一个将Excel转换成List的范型帮助类
因为前一段时间公司做项目的时候,用到了Excel导入和导出,然后自己找了个插件Epplus进行操作,自己将当时的一些代码抽离出来写了一个帮助类. 因为帮助类是在Epplus基础之上写的,项目需要引用E ...
- 步骤1:JMeter 录制脚本接口测试
JMeter 常用测试方法简介 1.下载安装 http://jmeter.apache.org/download_jmeter.cgi 安装JDK,配置环境变量JAVA_HOME. 系统要求:JMet ...
- Windows模拟linux终端工具Cmder+Gow
1. 说明 Cmder:Windows下的终端模拟器. Gow: Windows下模拟Linux命令行工具集合.可以在windows执行linux下的大部分命令,如ls.grep.xargs等. 2. ...
- linux消息队列通信
IPC机制 进程间通信机制(Inter Process Communication,IPC),这些IPC机制的存在使UNIX在进程通信领域手段相当丰富,也使得程序员在开发一个由多个进程协作的任务组成的 ...
- MySQL 初识01
最近开始学习MySQL 所以将这两天所学习到的知识简单小结一下 1.status 显示数据库信息 2.数据类型: a.字符串: char(m):固定长度的字符,最多255个字符: varchar(m) ...