MUI 列表页面绑定接口数据

1、我们先看效果

2、功能分析

主要分为3步

  1. 数据初始化
  2. 下拉刷新
  3. 上拉加载

接口数据示例:

 1 {
 2   "List": [
 3     {
 4       "Id": 9,
 5       "OrderCode": "1070010106490008",
 6       "PhoneModel": "三星 盖乐世s6 白色",
 7       "UserName": "张三",
 8       "Status": 3,
 9       "Message": null,
10       "CreatedDate": "2016-09-29 15:23"
11     },
12     {
13       "Id": 8,
14       "OrderCode": "1070010106490007",
15       "PhoneModel": "三星 盖乐世s6 白色",
16       "UserName": "张三",
17       "Status": 2,
18       "Message": null,
19       "CreatedDate": "2016-09-29 15:23"
20     }
21   ],
22   "TotalRecords": 4
23 }

js代码:

  1 mui.init();
  2 (function($) {
  3     //阻尼系数
  4     var deceleration = mui.os.ios ? 0.003 : 0.0009;
  5     $(‘.mui-scroll-wrapper‘).scroll({
  6         bounce: false,
  7         indicators: true, //是否显示滚动条
  8         deceleration: deceleration
  9     });
 10     $.ready(function() {
 11         //循环初始化所有下拉刷新,上拉加载。
 12         $.each(document.querySelectorAll(‘.mui-slider-group .mui-scroll‘),
 13             function(index, pullRefreshEl) {
 14                 $(pullRefreshEl).pullToRefresh({
 15                     down: {
 16                         callback: function() {
 17                             var self = this;
 18                             setTimeout(function() {
 19                                 try {
 20                                     var ul = self.element.querySelector(‘.mui-table-view‘);
 21                                     var ul_id = ul.id;
 22
 23                                     var arr = ul_id.split("-");
 24                                     var obj = list_item[arr[1]];
 25
 26                                     jQuery("#" + obj.id).empty();
 27                                     load_items(obj);
 28                                 } catch(e) {
 29
 30                                 } finally {
 31                                     self.endPullDownToRefresh();
 32                                 }
 33                             }, 1000);
 34                         }
 35                     },
 36                     up: {
 37                         callback: function() {
 38                             var self = this;
 39                             setTimeout(function() {
 40                                 try {
 41                                     var ul = self.element.querySelector(‘.mui-table-view‘);
 42                                     var ul_id = ul.id;
 43
 44                                     var arr = ul_id.split("-");
 45                                     var obj = list_item[arr[1]];
 46                                     var pageIndex = parseInt(obj.pageIndex) + 1;
 47                                     obj.pageIndex = pageIndex;
 48
 49                                     load_items(obj);
 50                                 } catch(e) {
 51
 52                                 } finally {
 53                                     self.endPullUpToRefresh();
 54                                 }
 55                             }, 1000);
 56
 57                         }
 58                     }
 59                 });
 60             });
 61         var createFragment = function(ul, index, count, reverse) {
 62             var length = ul.querySelectorAll(‘li‘).length;
 63             var fragment = document.createDocumentFragment();
 64             var li;
 65             for(var i = 0; i < count; i++) {
 66                 li = document.createElement(‘li‘);
 67                 li.className = ‘mui-table-view-cell‘;
 68                 li.innerHTML = ‘第‘ + (index + 1) + ‘个选项卡子项-‘ + (length + (reverse ? (count - i) : (i + 1)));
 69                 fragment.appendChild(li);
 70             }
 71             return fragment;
 72         };
 73     });
 74 })(mui);
 75
 76 var list_item = [{
 77     id: "shz",
 78     status: 0,
 79     statusName: "审核中",
 80     pageIndex: 1,
 81     pageSize: 10
 82 }, {
 83     id: "ywc",
 84     status: 1,
 85     statusName: "已完成",
 86     pageIndex: 1,
 87     pageSize: 10
 88 }, {
 89     id: "shsb",
 90     status: 2,
 91     statusName: "审核失败",
 92     pageIndex: 1,
 93     pageSize: 10
 94 }];
 95
 96 $(function() {
 97     for(var i in list_item) {
 98         load_items(list_item[i]);
 99     }
100 });
101
102 function load_items(obj) {
103     ax.g("api/order/getOrderList", {
104             status: obj.status,
105             pageIndex: obj.pageIndex,
106             pageSize: obj.pageSize
107         },
108         function(d) {
109             var list = d.List;
110             for(var i in list) {
111                 var item = list[i];
112                 var id = item.Id;
113                 var status = obj.status;
114                 var strVar = "";
115                 strVar += "<li class=\"listli\">";
116                 strVar += "<ul class=\"mui-table-view\" id=\"order_card" + "-" + status + "-" + id + "\">";
117                 strVar += "    <span class=\"mui-icon mui-icon-arrowright r-topicon2\"><\/span>";
118                 strVar += "    <li class=\"mui-table-view-cell order_main\">";
119                 strVar += "    <img src=\"img/order-img.png\" style=\"width: 14px;position: absolute;left: 0;\"/>";
120                 strVar += "    <a class=\"co000\">";
121                 strVar += "    <span class=\"co000\">" + item.UserName + "<\/span>";
122                 strVar += "    <span class=\"mui-pull-right co000\">" + obj.statusName + "<\/span>";
123                 strVar += "    <\/a>";
124                 strVar += "    <\/li>";
125                 strVar += "    <li class=\"mui-table-view-cell\">";
126                 strVar += "    <a class=\"co888\">";
127                 strVar += "                        订单编号";
128                 strVar += "    <span class=\"mui-pull-right co000\">" + item.OrderCode + "<\/span>";
129                 strVar += "    <\/a>";
130                 strVar += "    <\/li>";
131                 strVar += "    <li class=\"mui-table-view-cell\">";
132                 strVar += "    <a class=\"co888\">";
133                 strVar += "                        商品名称";
134                 strVar += "    <span class=\"mui-pull-right co000\">" + item.PhoneModel + "<\/span>";
135                 strVar += "    <\/a>";
136                 strVar += "    <\/li>";
137                 strVar += "    <li class=\"mui-table-view-cell\">";
138                 strVar += "    <a class=\"co888\">";
139                 strVar += "创建时间";
140                 strVar += "    <span class=\"mui-pull-right co000\">" + new Date(item.CreatedDate).Format("yyyy-MM-dd hh:mm") + "<\/span>";
141                 strVar += "    <\/a>";
142                 strVar += "    <\/li>";
143                 if(obj.status == 2) {
144                     strVar += "<li class=\"mui-table-view-cell\">";
145                     strVar += "<a class=\"co888\">";
146                     strVar += "                        失败原因";
147                     strVar += "<span class=\"mui-pull-right co000\">" + (item.Message == null ? "" : item.Message) + "<\/span>";
148                     strVar += "<\/a>";
149                     strVar += "<\/li>";
150                 }
151                 strVar += "<\/ul>";
152                 strVar += "<\/li>";
153
154                 $("#" + obj.id).append(strVar);
155             }
156         });
157 }

完整代码分享:

链接: http://pan.baidu.com/s/1jHN9TGE 密码: 9xza

时间: 2024-10-08 10:29:08

MUI 列表页面绑定接口数据的相关文章

MS CRM 2011——修改列表页面数据显示的数量

在MS CRM 2011 实施过程中,列表页面默认只显示50条数据,对于数据量较大的客户来说,只显示五十条数据查看起来特别不方便,所以客户经常会要求将列表页面显示的数据条数增大,以下介绍了两种修改方法: 一.改数据库的方法: SELECT SystemUserId, FullName FROM SystemUser WHERE FullName = 'your name' e.g. SELECT SystemUserId, FullName FROM SystemUser WHERE FullN

Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据

1. 1.?配置条件字段@Conditional 1 1 2. 2.?配置条件字段显示类型为[email protected](displayType?=?displayType.rang,?rangStart?=?rang.start,?rangEnd?=?rang.end,op=op.range) 1 3. #----show  condition  page  list 1 4. 提交条件查询表单by dwr 1 5. @filter  ::   set filter condition 

使用HBuilder开发移动APP:ajax调用接口数据

既然要做APP,与接口交互式少不了的,除非只是想做一个纯静态的APP.所以html5+的环境准备好后,我最先开始研究的就是如何与接口交互. 使用HBuilder新建示例教程后,里面会有一个ajax(网络请求)的列子,文件目录是examples/ajax.html.看了下这个文件的代 码,它的功能就是点击“提交”按钮后提交参数给接口,然后根据选择的返回数据格式,将一段字符串打印出来.我准备改造下这段代码,改由页面加载时调用列表 接口,并在APP里显示这段列表,毕竟这种情况应该经常会用到. 1.在l

Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php

Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php 1. 关于翻页有关的几大控件::搜索框控件,显示表格控件,翻页器,数据源控件.. 1 2. 翻页的显示格式:: 1 2.1. 通常ui--"首页"."上页"."下页"."末页",还要有Goto到指定页 1 2.2. 百度式::...<上一页567891011121314下一页 2 2.3. 综合的页面 首

从零开始编写自己的C#框架(22)——添加普通列表页面

普通列表页面指的是上一章那种有层次感列表以外的正常列表页面,由于上一章已讲解了正常添加页面的相关操作了,所以部分相关的操作本章节就不再罗嗦重复一次了.大家可以试试先用本章内容中的一些简单介绍,自己使用上一章下载的解决方案来实现一下,做做练习. 首先还是打开数据字典,创建广告内容表 在这里要说明一下的是,大家在对数据字典进行操作后(增.改.删),一定要在数据字典中的"版本"工作表中添加更新历史,以方便后面的维护人员查看(一定要养成一种良好的开发习惯),如下图 然后还是使用ExcelToS

硅谷社交9--邀请信息列表页面

1.页面布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&

格式化绑定的数据

原文:格式化绑定的数据 1.数据转换. WPF中,数据绑定有两种方式:字符串格式化和值转换器. 1.1).字符串格式化. 用StringFormat属性属性. 语法:StringFormat = "{}{0:格式字符串}" 其中第一个花括号{}是标识转义序列. <TextBox FontSize="20" Grid.Row="2" Grid.Column="1" Height="30" Text=&q

MUI框架-09-MUI 与后台数据交互

MUI框架-09-MUI 与后台数据交互 本篇介绍使用 art-template 和原生 MUI 的数据交互 mui.ajax 来实现 我们大家都知道,想要数据交互就要有数据,每次当我们发送请求,我们要清楚,怎么发,发给谁,返回的数据是什么内容,格式 先放一张图,给大家学习的动力: 然后今天呢,介绍的是调用 API,API 是什么呢,就是一个接口,比如知乎日报的API ,我们可以通过这个 API 获取到知乎上最新的消息,并且是 json 格式,我们就不用再去找数据了,其他类型 API 还有 百度

[Vue源码]一起来学Vue双向绑定原理-数据劫持和发布订阅

有一段时间没有更新技术博文了,因为这段时间埋下头来看Vue源码了.本文我们一起通过学习双向绑定原理来分析Vue源码.预计接下来会围绕Vue源码来整理一些文章,如下. 一起来学Vue双向绑定原理-数据劫持和发布订阅 一起来学Vue模板编译原理(一)-Template生成AST 一起来学Vue模板编译原理(二)-AST生成Render字符串 一起来学Vue虚拟DOM解析-Virtual Dom实现和Dom-diff算法 这些文章统一放在我的git仓库:https://github.com/yzsun