小小小小宇
小小小小宇
  • 发布:2016-09-20 15:58
  • 更新:2016-09-20 15:58
  • 阅读:11274

使用mui的索引列表demo,动态加载,修改为通讯录联系人。

分类:MUI

因公司需要,本人从安卓开发转战h5开发,若有不对指出,请指出,请勿喷!这是我在自学过程,开发公司项目遇到的问题。
按照之前论坛已经有大神给出 修改 mui.indexedlist.js对应部分为
init: function(holder, options) {
var self = this;
mui.ajax('url', {//
data: {
},
dataType: 'json', //服务器返回json格式数据
type: 'post', //HTTP请求类型
timeout: 10000, //超时时间设置为10秒;
success: function(data) {
var table = document.body.querySelector('.mui-table-view');
var html="",
for (var i = 0; i < data.length; i++) {
//插入数据
html= "你需要的数据";
}
table.innerHTML = html;
self.init1(holder, options);
},
error: function(xhr, type, errorThrown) {
console.log(type);
}
});
},
init1: function(holder, options) {
var self = this;
self.options = options || {};
self.box = holder;
if (!self.box) {
throw "实例 IndexedList 时需要指定 element";
}
self.createDom();
self.findElements();
self.caleLayout();
self.bindEvent();
},

即可发现数据就加载列表上了。 如果你的 数据源 已经安装 字母顺序分好类 ,按照demo 中 分别将数据 添加到对应的
<li data-group="A" class="mui-table-view-divider mui-indexed-list-group">A</li>   下面即可。
如果数据源没有进行分类,例如数据源如下格式:{"cRealName":"XX","cTelephoneNumber":"137xxxxxxxxx","cDepartmentName":"董事长办公室"}
这是项目中后台给我返回的数据源。 几经周折我如下 修改 完成项目需求。
var table = document.body.querySelector('.mui-table-view');
var htmla=""; //一个字母创建一个 ,即可
var b=0,a=0;//
for (var i = 0; i < data.length; i++) {
//插入数据
var s=makePy(data[i].cRealName)+"";//此方法为 将返回的姓名 转为 大写首字母缩写 ,百度即可 如 李二 转为LR
var shouzimu=s.substr(0, 1); //此方法获取 首字母 。
//首字母 为 A的
if(shouzimu=="A"){
if (a==0) {
htmla += '<li data-group="A" class="mui-table-view-divider mui-indexed-list-group">A</li> <li data-value='+s+ 'data-tags='+s+' class="mui-table-view-cell mui-indexed-list-item">'+data[i].cRealName+'</li>';
a=a+1;
} else{
htmla +='<li data-value='+s+ 'data-tags='+s+' class="mui-table-view-cell mui-indexed-list-item">'+data[i].cRealName+'</li>';
}
} 
}
table.innerHTML = htmla;//要按照 字母顺序添加 对应字母的 字符串即可
self.init1(holder, options);
这样不管数据源如何返回 都会按照首字母 排序下来。

5 关注 分享
gaohuazi 1***@qq.com 3***@qq.com FUNGKAKIT L_NBA

要回复文章请先登录注册

小小小小宇

小小小小宇 (作者)

回复 师宁丶 :
加我Q 245833384  记得加上备注
2016-09-28 14:48
小小小小宇

小小小小宇 (作者)

回复 师宁丶 :
这个源码? 就是官方demo里面的改了对应js的 一个方法
2016-09-28 13:43
师宁丶

师宁丶

大神求源码
2016-09-26 14:06