【分享】动态索引列表实现【搜索有效的方法】

交流Q群:453093824(人少,但是都帮助新人回答小白问题)。搜索无效的原因是因为 索引列表的js实现早于我们的ajax的方法。没有把数据加到索引列表的js ,导致索引列表源码js读不到后来的数据,所以不能搜索,【不知道我这么说大家能不能听懂。因为我看到有人问这个 才来说一下 笨方法,希望大家不喷我就好】

接下来步入正题,大家打开mui.indexedlist.js这个源码js,我们只需要把我们的ajax添加数据加入到源码js初始化之前,(让js在初始化的时候加载到数据即可)。

把我下面的数据复制到mui.indexedlist.js源码里面,找准位置,我首尾都多给了源码,大家应该可以找准位置,复制进去之后,就可以了。很简单,看了之后都能懂。

var IndexedList = $.IndexedList = $.Class.extend({

/**

* 通过 element 和 options 构造 IndexedList 实例

**/

init: function(holder, options) {

var self = this;

mui.ajax('', {//这个是数据导入的ajax 填入url 即可

data: {},

dataType: 'json', //服务器返回json格式数据

type: 'post', //HTTP请求类型

timeout: 10000, //超时时间设置为10秒;

success: function(data) {

var table = document.body.querySelector('.mui-table-view');

for (var i = 0; i < data.length; i++) {

//插入数据

}

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();

},

createDom: function() {

var self = this;

self.el = self.el || {};

//styleForSearch 用于搜索,此方式能在数据较多时获取很好的性能

self.el.styleForSearch = document.createElement('style');

(document.head || document.body).appendChild(self.el.styleForSearch);

},

\n

2016-03-28 10:47 添加评论 分享
已邀请:
1

無語 - mui交流Q群:453093824

赞同来自: DCloud_客服_Trust

只是给不会的人,大神勿扰。勿喷。


0

414588183@qq.com

赞同来自:

我按照你这个 添加 了 但数据没出来


0

1165050464@qq.com

赞同来自:

我要在一个页面中嵌套使用多个indexlist 怎么弄? 循环遍历list并window.indexedList = new mui.IndexedList(list);后只有第一个能正常显示 其他的都不好使 要是不用他检索会失效所以我想把他重写一下 但没弄明白怎么回事?大神有招没


0

1019422167@qq.com

赞同来自:

感谢楼主分享,获取数据后调用索引方法就能索引了。


0

2573093687@qq.com

赞同来自:

那要是存储的用户id,怎么获取到啊,在mui.indexedlist.js中


0

838206954@qq.com - 90后足球程序狗

赞同来自:

ajax得时候 直接 async: false ajax同步请求就行了


0

Denty

赞同来自:

万分感谢,实操有效~~~~


要回复问题请先登录注册