ListView

H5 ListView Component By Virtual DOM And No Need Set Item Height
H5 ListView组件,支持超大数据列表流畅运行。子项无需指定高度
GitHub Pages: https://github.com/fengshangbin/ListView

设计理念

不依赖第三方框架,也无不侵入,GZip后只有3KB,类似安卓原生ListView的使用方式。

特点及优势

  1. 大数据列表(采用虚拟DOM防止大数据列表下手机内存不够)
  2. 不定高子项(无需给子项设置指定高度)
  3. 集成顶部上滑或底部下滑 Loading更多数据
  4. 仿安卓原生ListView的使用方式,使用简单

如何使用

页面定义ListView容器

<div id="container"></div>

引入js文件

<script src="c3listview.js"></script>

定义一个数据源

var dataSource = [1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4];
var adapter = new C3ListView.adapter(dataSource);//参数为数组,可选

定义子项html视图

adapter.getHtml = function(position){var data = adapter.getData(position);return "<div data-position=\""+position+"\">"+data+"</div>";
}

关联ListView容器

/*container: ListView子项的容器adapter: 数据源scrollParent: 滚动条所属容器,可选,默认为window
*/var ct = document.getElementById("container");
var listView = new C3ListView.builder(ct, adapter);

这样就可以运行ListView了
示例
示例二维码

更多功能

设置数据loading视图

<script type="text/x-template" id="template-loading"><svg viewBox="0 0 50 50" class="loading"><defs><linearGradient id="linear" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" stop-color="#000" stop-opacity="1.0" /><stop offset="90%" stop-color="#000" stop-opacity="0" /></linearGradient></defs><circle cx="25" cy="25" r="20" stroke-width="5" stroke="url(#linear)" fill="none" /></svg>
</script>
adapter.getLoadingHtml = function(){return document.getElementById("template-loading").innerHTML;
}

设置到底下滑添加数据

listView.addEventListener("touchbottom",function(e){ //顶部上滑对应touchtopconsole.log("touchbottom");window.setTimeout(function(){adapter.appendData([1,2,3,4]);},2000);
});

设置当前为最后一页

adapter.isLastPage = true; //第一页对应isFirstPage

设置/重置数据源

adapter.setData([1,2,3,4,1,2,3,4])

向前追加数据

adapter.preAppendData([1,2])

向后追加数据

adapter.appendData([1,2])

更新数据

/*data: 新数据position: 被更新子项的索引
*/adapter.updateData(4,0)

更新子项视图

adapter.updateView(view) //触发重新计算view的高度

删除数据

adapter.removeData(0) //参数为被删除子项的索引

获取数据

adapter.getData(0) //参数为子项的索引

许可

MIT许可

本文来源 http://www.fengshangbin.com/listview/

H5 ListView组件相关推荐

  1. android的listView组件

    关于Android ListView组件中android:drawSelectorOnTop含义 android:drawSelectorOnTop="true"  点击某一条记录 ...

  2. 为ListView组件加上快速滑块以及修改快速滑块图像

    本文转载自:http://blog.csdn.net/ouyang_peng/article/details/46919723 作者:欧阳鹏  欢迎转载,与人分享是进步的源泉! 转载请保留原文地址:h ...

  3. UI组件之AdapterView及其子类(五)ListView组件和ListActivity

    ListView组件是一个显示组件,继承AdapterView基类,前面已经介绍了分别使用ArrayAdapter,SimpleAdapter,扩展BaseAdapter来为LisView提供列表项h ...

  4. 《React Native移动开发实战》一一3.4 完善商品列表——ListView组件

    3.4 完善商品列表--ListView组件 在完善了搜索框和轮播广告之后,对电商应用的首页的改造已经初见成效.最后,我们要让商品列表的内容也变得更加丰富. 3.4.1 对图片资源进行重构 添加商品图 ...

  5. SQLite数据库操作及ListView组件

    一.SQLite数据库 1.什么是数据库? 存储大量的相似结构的数据.本质上是一个高效率的文件管理系统.提供快速的增删改查和多并发操作. 常用的数据库有:mysql,oracle,db2,sqlser ...

  6. 安卓:ListView组件实现微信通讯录效果(我的王者队友们)

    ListView控件是列表视图展示,排列方式是纵向. ListView组件实现微信通讯录效果,包含头像和文字,不能用entries这个属性来添加,要用SimpleAdapter适配器来添加数据 布局: ...

  7. Android音乐播放器开发(6)—ListView组件创建歌曲播放列表(内含原理分析)

    1. 说明 源码已同步到Gitee仓库,GitHub仓库,觉得还不错的话帮忙点个"star"吧,非常感谢. 以往的文章 服务端:Android音乐播放器开发–服务端 登录:Andr ...

  8. vue3.0 + ts H5拍照组件

    vue3.0 + ts H5拍照组件 实现了简单的拍照功能,拍照成功返回文件对象.(待更新,裁剪,缩放,旋转) 效果图 使用 通过npm下载 npm i wl-easy-ui 或者通过yarn add ...

  9. 【Flutter 问题系列第 5 篇】Flutter 去除 ListView 组件中的蓝色回弹效果

    这是[Flutter 问题系列第 5 篇],如果觉得有用的话,欢迎关注专栏. ListView 组件默认的滑动效果如下 可以看到,在顶部向下拖动或者到底部向上拖动时,会有一个蓝色的回弹效果. 这是因为 ...

最新文章

  1. 王者传奇服务器维护一般多长时间,9377王者传奇合理分配刷图时间其实很重要...
  2. htpasswd java_mod_rewrite,reverseProxy和.Htpasswd
  3. CG CTF WEB 这题不是WEB
  4. ionic 状态栏显示异常 statusBar
  5. x86汇编代码转x64平台使用(VS2010测试通过)最简单的方法
  6. 剑指offer 面试63题
  7. c语言圆周率小数点后500万位,圆周率小数点后500位数字是多少
  8. 输入身份证判断性别python最后一位是英文怎么写_身份证号码最后一位,是表示性别用的吗?...
  9. 微信小程序-云开发上传文件、图片
  10. 干货|最全焊接不良汇总,你知道如何避免吗?
  11. 【深度学习 项目实战】Keras深度学习多变量时间序列预测的LSTM模型
  12. 洪特规则计算孤立原子/离子磁矩
  13. auto.js悬浮窗按钮的实际使用
  14. 最大后验估计(Maximum-a-Posteriori (MAP) Estimation) 【转】
  15. matlab绘制星形线并求面积,星形线面积怎么求
  16. 机器人“志愿者”助力冬奥防疫
  17. java 控制台scanner的中文输入问题
  18. zemax---像差计算公式
  19. Java 面试问题汇总
  20. winbox设置端口映射

热门文章

  1. 实时处理中帧之间的拼接问题即端点效应咋解决啊?
  2. php数据库模糊查询
  3. have_posts 修改_探索WordPress的get_posts函数
  4. 树莓派换源(用的是阿里的源)亲测!!
  5. 万物皆可 Serverless 之使用 SCF+COS 给未来写封信
  6. Cronolog切割tomcat日志
  7. php转出的json数据美化,PHP输出日志,json美化
  8. java经典总结 !
  9. 计算机辅助教学时必不可少的,浅谈计算机辅助教学在中学语文教学中的应用
  10. 399. 【开发小技巧】添加鼠标右键通过xx打开文件夹菜单