UIListBadge

close hide getIndex setSwipeBtns deleteItem insertItem getCount setRefreshFooter

概述

UIListBadge 模块封装了一个数据列表控件,列表项水平侧滑可出现控制按钮;开发者可自定义列表的数据源,及列表的样式,支持列表项的增、删、改、查,支持批量更新、追加数据,支持下拉刷新和上拉加载事件。本模块最大的特点是每条数据后面支持自定义一个徽章(badge)。 本模块是基于 APICloud 开源模块 修改的。

open

打开 UIListBadge 模块

open({params}, callback(ret, err))

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 注意:在 Android 平台上此参数必须传
  • 内部字段:

data:

  • 类型:数组
  • 描述:列表的数据源,开发者可以自定义唯一的键值对信息(如:uid: ‘1001’),供 getIndex 使用
  • 内部字段:
  1. imgPath: '', //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,默认显示apicloud图片
  2. imgTitle:'张涛', //(可选项)字符串类型;列表项配图位置可传入的文字;若imgTitle和imgPath都传则显示文字
  3. imgBackgroundColor:'#fff',//(可选项)字符串类型;列表项配图位置传入文字的背景颜色,支持 rgb、rgba、#;默认:'#fff'
  4. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  5. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  6. time: '', //(可选项)字符串类型;时间标签,若不传则不显示
  7. badge: , //(可选项)数字类型;右下角徽章显示的内容,若不传则不显示,若传空,则显示空
  8. forbidden: false, //(可选项)布尔类型;是否屏蔽本条数据的点击事件,屏蔽后的样式可通过 styles->forbidden参数配置
  9. rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同下方 rightBtns 参数
  10. }]

rightBtns:

  • 类型:数组
  • 描述:(可选项)列表项向左滑动露出的按钮组,建议:配置列表每项的通用按钮,用此参数;配置某一项的特定按钮,可在 data 数组的指定项传入 rightBtns 参数
  • 内部字段:
  1. [{
  2. bgColor: '#388e8e', //(可选项)字符串类型;按钮背景色,支持 rgb、rgba、#;默认:'#388e8e'
  3. activeBgColor: '', //(可选项)字符串类型;按钮按下时的背景色,支持 rgb、rgba、#
  4. width: 70, //(可选项)数字类型;按钮的宽度;默认:w / 4
  5. title: '', //(可选项)字符串类型;按钮标题,水平、垂直居中
  6. titleSize: 12, //(可选项)数字类型;按钮标题文字大小;默认:12
  7. titleColor: '#fff', //(可选项)字符串类型;按钮标题文字颜色,支持 rgb、rgba、#;默认:'#ffffff'
  8. icon: '', //(可选项)字符串类型;按钮标题前的图标路径(本地路径,支持fs://、widget://),水平、垂直居中,图标为正方形
  9. iconWidth: 20 //(可选项)数字类型;按钮标题前的图标宽度,图标为正方形;默认:20
  10. }]

bounces:

  • 类型:布尔
  • 描述:(可选项)是否开启弹动,android 平台暂不支持,且默认false
  • 默认:false

styles:

  • 类型:JSON 对象
  • 描述:(可选项)模块各部分的样式
  • 内部字段:
  1. {
  2. header:{
  3. bg:'#fff' , //(可选项)字符串类型;头部视图的颜色,支持 rgb、rgba、#、img;默认:'#696969'
  4. height:20, //(可选项)数字类型;头部视图的高度;默认:44
  5. },
  6. footer:{
  7. bg:'#fff' , //(可选项)字符串类型;底部视图的颜色,支持 rgb、rgba、#;默认:'#696969'
  8. height:20, //(可选项)数字类型;底部视图的高度;默认:'#696969'
  9. },
  10. badge:{
  11. color:'#f00', //(可选项)字符串类型;徽章的背景颜色,支持 rgb、rgba、#;默认:'#696969'
  12. size: 6.0, //(可选项)数字类型;徽章半径大小;默认值:6.0
  13. titleSize:8 , //(可选项)数字类型;徽章文字大小;默认:12
  14. titleColor:'#fff', //(可选项)数字类型;徽章文字颜色;默认:'#fff'
  15. },
  16. borderColor: '#696969', //(可选项)字符串类型;列表分割线的颜色,支持 rgb、rgba、#;默认:'#696969'
  17. item: { //(可选项)JSON对象;列表项的样式
  18. bgColor: '#AFEEEE', //(可选项)字符串类型;列表项的背景色,支持 rgb、rgba、#;默认:'#AFEEEE'
  19. activeBgColor: '#F5F5F5', //(可选项)字符串类型;列表项按下时的背景色,支持 rgb、rgba、#;默认:'#F5F5F5'
  20. height: 55, //(可选项)数字类型;列表项的高度;默认:55
  21. imgMarginLeft:10, //(可选项)数字类型;列表项的图片的左边距;默认:10
  22. imgMarginRight:10, //(可选项)数字类型;列表项的图片的右边距;默认:10
  23. imgTitleSize:14, // (可选项) 数字类型;列表项的图片位置传入的文字大小,默认14
  24. imgTitleColor:'#f00', //(可选项)字符串类型;列表项的的图片位置传入文字的颜色,支持 rgb、rgba、#;默认:'#f00'
  25. imgWidth: 20, //(可选项)数字类型;列表项配图的宽度;默认:列表项的高度减去10px
  26. imgHeight: 20, //(可选项)数字类型;列表项配图的高度;默认:列表项的高度减去10px
  27. imgCorner: 4, //(可选项)数字类型;列表项配图的圆角大小;默认:0
  28. placeholderImg: '', //(可选项)字符串类型;列表项配图的占位图路径(本地路径,fs://、widget://),默认:APICloud 图标
  29. titleMarginTop:5 //(可选项)数字类型;列表项的图片的上边距;默认:5(跟time的下边距相同)
  30. subTitleMarginBottom:5 //(可选项)数字类型;列表项的图片的下边距;默认:5(跟badge的下边距相同)
  31. titleSize: 12, //(可选项)数字类型;列表项标题文字大小;默认:12
  32. titleColor: '#000', //(可选项)字符串类型;列表项标题文字颜色,支持 rgb,rgba,#;默认:'#000000'
  33. subTitleSize: 12, //(可选项)数字类型;列表项子标题文字大小;默认:12
  34. subTitleColor: '#000', //(可选项)字符串类型:列表项子标题文字颜色,支持 rgb、rgba、#;默认:'#000000'
  35. subTitleWidth: 100 //(可选项)数字类型;列表项子标题文字的宽度;默认:100
  36. timeColor: '#000', //(可选项)字符串类型;时间标签的文字颜色,支持 rgb、rgba、#;默认:'#000000'
  37. timeSize: 16, //(可选项)数字类型;时间标签的文字大小;默认:16
  38. marginRight: 10 //(可选项)数字类型;时间标签和徽章(badge)距离模块右边距;默认:10
  39. }
  40. }

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

showScrollBar:

  • 类型:布尔
  • 描述:(可选项)是否显示滚动条
  • 默认:true

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: 'show', //字符串类型;交互事件类型
  3. //取值范围如下:
  4. //show(模块加载成功)
  5. //clickRightBtn(点击侧滑出现的右侧按钮)
  6. //clickContent(点击列表项的内容,除了配图和备注以外的区域)
  7. //clickImg(点击列表项的配图)
  8. //clickRemark(点击列表项右侧备注)
  9. //clickHead(点击头部视图)
  10. index: 0, //数字类型;列表项的索引
  11. btnIndex: 0 //数字类型;列表项侧滑出现的按钮的索引
  12. }

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.open({
  3. rect: {
  4. x: 0,
  5. y: 0,
  6. w: api.winWidth,
  7. h: api.frameHeight
  8. },
  9. data: [{
  10. uid: '1001',
  11. imgPath: 'widget://res/img/apicloud.png',
  12. title: '标题',
  13. subTitle: '子标题,说明文字',
  14. time: '今天 13:45',
  15. badge: 1
  16. }, {
  17. uid: '1001',
  18. imgPath: 'widget://res/img/apicloud.png',
  19. title: '标题',
  20. subTitle: '子标题,说明文字',
  21. time: '今天 13:45',
  22. badge: 1
  23. }, {
  24. uid: '1001',
  25. imgPath: 'widget://res/img/apicloud.png',
  26. title: '标题',
  27. subTitle: '子标题,说明文字',
  28. time: '今天 13:45',
  29. badge: 1
  30. }, {
  31. uid: '1001',
  32. imgPath: 'widget://res/img/apicloud.png',
  33. title: '标题',
  34. subTitle: '子标题,说明文字',
  35. time: '今天 13:45',
  36. badge: 1
  37. }, {
  38. uid: '1001',
  39. imgPath: 'widget://res/img/apicloud.png',
  40. title: '标题',
  41. subTitle: '子标题,说明文字',
  42. time: '今天 13:45',
  43. }, {
  44. uid: '1001',
  45. imgPath: 'widget://res/img/apicloud.png',
  46. title: '标题',
  47. subTitle: '子标题,说明文字',
  48. time: '今天 13:45',
  49. badge: 1
  50. }, {
  51. uid: '1001',
  52. imgPath: 'widget://res/img/apicloud.png',
  53. title: '标题',
  54. subTitle: '子标题,说明文字',
  55. time: '今天 13:45',
  56. badge: 1
  57. }, {
  58. uid: '1001',
  59. imgPath: 'widget://res/img/apicloud.png',
  60. title: '标题',
  61. subTitle: '子标题,说明文字',
  62. time: '今天 13:45',
  63. badge: 1
  64. }, {
  65. uid: '1001',
  66. imgPath: 'widget://res/img/apicloud.png',
  67. title: '标题',
  68. subTitle: '子标题,说明文字',
  69. time: '今天 13:45',
  70. badge: 1
  71. }, {
  72. uid: '1001',
  73. imgPath: 'widget://res/img/apicloud.png',
  74. title: '标题',
  75. subTitle: '子标题,说明文字',
  76. time: '今天 13:45',
  77. badge: 1
  78. imgPath: 'widget://res/img/apicloud.png',
  79. title: '标题',
  80. subTitle: '子标题,说明文字',
  81. time: '今天 13:45',
  82. badge: 1
  83. }],
  84. rightBtns: [{
  85. bgColor: '#388e8e',
  86. activeBgColor: '',
  87. width: 70,
  88. title: '按钮',
  89. titleSize: 12,
  90. titleColor: '#fff',
  91. time: '今天 13:45',
  92. badge: '1'
  93. }],
  94. styles: {
  95. header:{
  96. bg:'#fff' ,
  97. height:20,
  98. },
  99. footer:{
  100. bg:'#fff' ,
  101. height:20,
  102. },
  103. badge:{
  104. color:'#f00',
  105. size: 6.0,
  106. titleSize:8 ,
  107. titleColor:'#fff',
  108. },
  109. borderColor: '#696969',
  110. item: {
  111. bgColor: '#AFEEEE',
  112. activeBgColor: '#F5F5F5',
  113. height: 55,
  114. imgMarginLeft:10,
  115. imgMarginRight:10,
  116. imgWidth: 20,
  117. imgHeight: 20,
  118. imgCorner: 4,
  119. placeholderImg: '',
  120. titleMarginTop:5,
  121. subTitleMarginBottom:5,
  122. titleSize: 12,
  123. titleColor: '#000',
  124. subTitleSize: 12,
  125. subTitleColor: '#000',
  126. subTitleWidth: 100,
  127. timeColor: '#000',
  128. timeSize: 16,
  129. marginRight: 10,
  130. }
  131. },
  132. fixedOn: api.frameName
  133. }, function(ret, err) {
  134. if (ret) {
  135. alert(JSON.stringify(ret));
  136. } else {
  137. alert(JSON.stringify(err));
  138. }
  139. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭数据列表模块

close()

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.close();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示 UIListBadge 模块

show()

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.show();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hide

隐藏 UIListBadge 模块

hide()

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.hide();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setAttr

设置列表的纵坐标和高度

setAttr({params}, callback(ret))

params

y:

  • 类型:数字
  • 描述:(可选项)模块的纵坐标
  • 默认值:原 y 值

h:

  • 类型:数字
  • 描述:(可选项)模块的高度
  • 默认值:原 h 值

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.setAttr({
  3. y: 40,
  4. h: 200
  5. }, function(ret, err) {
  6. if (ret) {
  7. alert(JSON.stringify(ret));
  8. } else {
  9. alert(JSON.stringify(err));
  10. }
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getIndex

根据开发者自定义的唯一标识(open 接口的 data 参数中自定义的唯一标识)查找列表项对应的数据

getIndex({params}, callback(ret, err))

params

  • 类型:字符串
  • 描述:调用 open 接口时,data 参数传入的开发者自定义的唯一标识的 key

value:

  • 类型:字符串
  • 描述:调用 open 接口时,data 参数传入的开发者自定义的唯一标识的 value

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. index: 0, //数字类型;当前列表项的索引
  3. data: [] //数组类型;当前列表项的数据,内部字段与 open 时的 data 参数一致
  4. }

示例代码

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getDataByIndex

根据列表项的索引获取对应的数据

getDataByIndex({params}, callback(ret))

params

index:

  • 类型:数字
  • 描述:(可选项)列表项的索引
  • 默认值:0

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. data: [] //数组类型;当前列表项的数据,内部字段与 open 时的 data 参数一致
  3. }

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.getDataByIndex({
  3. index: 0
  4. }, function(ret, err) {
  5. if (ret) {
  6. alert(JSON.stringify(ret));
  7. } else {
  8. alert(JSON.stringify(err));
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setSwipeBtns

设置侧滑显示出来的按钮

setSwipeBtns({params}, callback(ret))

params

index:

  • 类型:数字
  • 描述:(可选项)列表项的索引
  • 默认值:0

btns:

  • 类型:数组
  • 描述:(可选项)列表项侧滑露出的按钮组
  • 内部字段:
  1. [{
  2. bgColor: '#388e8e', //(可选项)字符串类型;按钮背景色,支持 rgb、rgba、#;默认:'#388e8e'
  3. activeBgColor: '', //(可选项)字符串类型;按钮按下时的背景色,支持 rgb、rgba、#
  4. width: 70, //(可选项)数字类型;按钮的宽度;默认:w / 4
  5. title: '', //(可选项)字符串类型;按钮标题,水平、垂直居中
  6. titleSize: 12, //(可选项)数字类型;按钮标题文字大小;默认:12
  7. titleColor: '#fff', //(可选项)字符串类型;按钮标题文字颜色,支持 rgb、rgba、#;默认:'#ffffff'
  8. icon: '', //(可选项)字符串类型;按钮标题前的图标路径(本地路径,支持fs://、widget://),水平、垂直居中,图标为正方形
  9. iconWidth: 20 //(可选项)数字类型;按钮标题前的图标宽度,图标为正方形;默认:20
  10. }]

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.setSwipeBtns({
  3. index: 0,
  4. btns: [{
  5. bgColor: '#388e8e',
  6. activeBgColor: '',
  7. width: 70,
  8. title: '',
  9. titleSize: 12,
  10. titleColor: '#fff',
  11. icon: '',
  12. iconWidth: 20
  13. }]
  14. }, function(ret, err) {
  15. if (ret) {
  16. alert(JSON.stringify(ret));
  17. } else {
  18. alert(JSON.stringify(err));
  19. }
  20. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

reloadData

刷新列表数据

reloadData({params}, callback(ret))

params

data:

  • 类型:数组
  • 描述:(可选项)列表的数据源,若不传或传空,仅收起下拉刷新组件
  • 内部字段:
  1. [{
  2. imgPath: '', //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则标题和子标题靠最左侧显示
  3. imgTitle:'张涛', //(可选项)字符串类型;列表项配图位置可传入的文字;若imgTitle和imgPath都传则显示文字
  4. imgBackgroundColor:'#fff',//(可选项)字符串类型;列表项配图位置传入文字的背景颜色,支持 rgb、rgba、#;默认:'#fff'
  5. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  6. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  7. time: '', //(可选项)字符串类型;时间标签,若不传则不显示
  8. badge: '', //(可选项)字符串类型;右下角徽章显示的内容,若不传则不显示,若传空字符串,则显示空字符串
  9. rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同 rightBtns 参数
  10. }]

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. data: [{
  3. imgPath: 'http://img1.3lian.com/gif/more/11/201206/a5194ba8c27b17def4a7c5495aba5e32.jpg',
  4. title: '新标题',
  5. subTitle: '新子标题',
  6. remark: '新备注',
  7. icon: ''
  8. }, function(ret) {
  9. if (ret) {
  10. alert(JSON.stringify(ret));
  11. } else {
  12. alert(JSON.stringify(err));
  13. }
  14. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteItem

根据索引删除某一条列表的数据

deleteItem({params}, callback(ret))

params

index:

  • 类型:数字
  • 描述:(可选项)数据列表的索引
  • 默认值:0

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.deleteItem({
  3. index: 2
  4. }, function(ret, err) {
  5. if (ret) {
  6. alert(JSON.stringify(ret));
  7. } else {
  8. alert(JSON.stringify(err));
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

updateItem

根据索引更新某一条列表的数据

updateItem({params}, callback(ret))

params

index:

  • 类型:数字
  • 描述:(可选项)数据列表的索引
  • 默认值:0

data:

  • 类型:JSON 对象
  • 描述:列表的数据源
  • 内部字段:
  1. {
  2. imgPath: '', //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则标题和子标题靠最左侧显示
  3. imgTitle:'张涛', //(可选项)字符串类型;列表项配图位置可传入的文字;若imgTitle和imgPath都传则显示文字
  4. imgBackgroundColor:'#fff',//(可选项)字符串类型;列表项配图位置传入文字的背景颜色,支持 rgb、rgba、#;默认:'#fff'
  5. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  6. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  7. time: '', //(可选项)字符串类型;时间标签,若不传则不显示
  8. badge: '', //(可选项)字符串类型;右下角徽章显示的内容,若不传则不显示,若传空字符串,则显示空字符串
  9. rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同 rightBtns 参数
  10. }

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.updateItem({
  3. index: 2,
  4. data: {
  5. imgbackgroudColor:'#f00',
  6. imgPath: 'http://img1.3lian.com/gif/more/11/201206/a5194ba8c27b17def4a7c5495aba5e32.jpg',
  7. title: '刷新标题',
  8. subTitle: '刷新子标题',
  9. badge: '2'
  10. }
  11. }, function(ret, err) {
  12. if (ret) {
  13. alert(JSON.stringify(ret));
  14. } else {
  15. alert(JSON.stringify(err));
  16. }
  17. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

insertItem

insertItem({params}, callback(ret, err))

index:

  • 类型:数字
  • 描述:(可选项)数据列表的索引
  • 默认值:列表最后一条数据的索引

data:

  • 类型:JSON 对象
  • 描述:列表的数据源
  • 内部字段:
  1. {
  2. imgPath: '', //(可选项)字符串类型;列表项的附图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则标题和子标题靠最左侧显示
  3. imgTitle:'张涛', //(可选项)字符串类型;列表项配图位置可传入的文字;若imgTitle和imgPath都传则显示文字
  4. imgBackgroundColor:'#fff',//(可选项)字符串类型;列表项配图位置传入文字的背景颜色,支持 rgb、rgba、#;默认:'#fff'
  5. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  6. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  7. time: '', //(可选项)字符串类型;时间标签,若不传则不显示
  8. badge: '', //(可选项)字符串类型;右下角徽章显示的内容,若不传则不显示,若传空字符串,则显示空字符串
  9. rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,内部字段同 open 接口的 rightBtns 参数
  10. }

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.insertItem({
  3. index: 2,
  4. data: {
  5. imgbackgroudColor:'#f00',
  6. imgPath: 'http://d.hiphotos.baidu.com/image/pic/item/4d086e061d950a7b29a788c209d162d9f2d3c922.jpg',
  7. title: '12:00',
  8. subTitle: 'APICloud粉丝互动会',
  9. badge: '10'
  10. }
  11. }, function(ret, err) {
  12. if (ret) {
  13. alert(JSON.stringify(ret));
  14. } else {
  15. alert(JSON.stringify(err));
  16. }
  17. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

appendData

向列表末端追加数据

appendData({params}, callback(ret))

params

data:

  • 类型:数组对象
  • 描述:列表的数据源,若不传或传空,仅收起上拉加载组件
  • 内部字段:
  1. [{
  2. imgPath: '', //(可选项)字符串类型;列表项的附图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则标题和子标题靠最左侧显示
  3. imgTitle:'张涛', //(可选项)字符串类型;列表项配图位置可传入的文字;若imgTitle和imgPath都传则显示文字
  4. imgBackgroundColor:'#fff',//(可选项)字符串类型;列表项配图位置传入文字的背景颜色,支持 rgb、rgba、#;默认:'#fff'
  5. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  6. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  7. time: '', //(可选项)字符串类型;时间标签,若不传则不显示
  8. badge: '', //(可选项)字符串类型;右下角徽章显示的内容,若不传则不显示,若传空字符串,则显示空字符串
  9. rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,内部字段同 open 接口的 rightBtns 参数
  10. }]

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false
  3. }

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.appendData({
  3. data: [{
  4. imgPath: 'http://d.hiphotos.baidu.com/image/pic/item/4d086e061d950a7b29a788c209d162d9f2d3c922.jpg',
  5. title: '新增标题',
  6. subTitle: '新增子标题',
  7. badge: '3'
  8. }]
  9. }, function(ret, err) {
  10. if (ret) {
  11. alert(JSON.stringify(ret));
  12. } else {
  13. alert(JSON.stringify(err));
  14. }
  15. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getCount

获取当前列表的总数据量

getCount(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. count: 21 //数字类型;当前列表包含的数据总数
  3. }

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.getCount(function(ret) {
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRefreshHeader

设置下拉刷新,通过 reloadData 收起下拉刷新组件

setRefreshHeader({params}, callback(ret))

params

style:

  • 类型:JSON对象
  • 描述:下拉刷新的样式配置
  • 内部字段:
  1. {
  2. bgColor: '#C0C0C0', //(可选项)字符串类型;下拉刷新的背景设置,支持 rgb、rgba、#,该背景大小同当前模块的宽高;默认:#C0C0C0
  3. refreshHeaderHeight : 60 , //(可选项)数字类型;下拉高度达到一定阈值,本参数暂仅支持 ios 平台;默认:60
  4. loadAnimInterval : 200 , //(可选项)数字类型;图片播放时间间隔,单位为毫秒;默认:200
  5. image: { //(可选项)JSON 对象类型;下拉刷新相关图片设置;若不传则使用默认图标
  6. pull:['fs://t1.png','fs://t2.png',...], //(可选项)数组类型;组成下拉过程的动画关键帧图片数组,这组图片随下拉高度同步放大缩小,同时自动播放关键帧图片:每下拉一定距离(阈值/图片数量),播放一帧关键帧图片;图片规格为正方形,如:50*50、100*100;若不传则使用默认图标
  7. load: ['fs://t1.png','fs://t2.png',...] //(可选项)数组类型;组成下拉刷新加载状态动画的关键帧图片数组,图片为正方形的,如:50*50、100*100,建议开发者传大小合适的图片以适配高分辨率手机屏幕;若不传则使用默认图标
  8. },
  9. isScale: true //(可选项)布尔类型;播放下拉过程中的关键帧动画时,是否同时添加等比同步缩放效果;默认值:true
  10. }

callback()

下拉刷新的事件回调

示例代码

  1. var UIListBadge = api.require('UIListBadge');
  2. UIListBadge.setRefreshHeader({
  3. style: {
  4. bgColor: '#C0C0C0',
  5. isScale: true,
  6. image: {
  7. pull: [
  8. 'widget://image/refresh/dropdown0.png',
  9. 'widget://image/refresh/dropdown1.png',
  10. 'widget://image/refresh/dropdown2.png',
  11. 'widget://image/refresh/dropdown3.png',
  12. 'widget://image/refresh/dropdown4.png',
  13. 'widget://image/refresh/dropdown5.png',
  14. 'widget://image/refresh/dropdown6.png'
  15. ],
  16. load: [
  17. 'widget://image/refresh/loading0.png',
  18. 'widget://image/refresh/loading1.png',
  19. 'widget://image/refresh/loading2.png',
  20. 'widget://image/refresh/loading3.png',
  21. 'widget://image/refresh/loading4.png'
  22. ]
  23. }
  24. }
  25. }, function(ret) {
  26. //下拉刷新被触发,自动进入加载状态,使用 reloadData() 手动结束加载中状态
  27. alert('开始加载刷新数据,摇一摇停止加载状态');
  28. api.addEventListener({
  29. name: 'shake'
  30. }, function(ret, err) {
  31. UIListBadge.reloadData();
  32. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRefreshFooter

设置上拉加载,通过 appendData 收起上拉加载组件

setRefreshFooter({params}, callback())

params

loadingImg:

  • 类型:字符串
  • 描述:上拉加载时显示的小箭头图标的本地路径,要求本地路径(fs://、widget://)

bgColor:

  • 类型:字符串
  • 描述:(可选项)上拉加载区域的背景色,支持 rgb、rgba、#
  • 默认值:’#f5f5f5’

textColor:

  • 类型:字符串
  • 描述:(可选项)提示文字颜色,支持 rgb、rgba、#
  • 默认值:’#8e8e8e’

textUp:

  • 类型:字符串
  • 描述:(可选项)上拉提示文字
  • 默认值:’上拉加载更多…’

textDown:

  • 类型:字符串
  • 描述:(可选项)松开提示文字
  • 默认值:’松开开始加载…’

loadingText:

  • 类型:字符串
  • 描述:(可选项)提示文字
  • 默认值:正在加载…

lastUpdateText:

  • 类型:字符串
  • 描述:(可选项)提示文字
  • 默认值:上次更新时间:

showTime:

  • 类型:布尔值
  • 默认值:true

callback(ret)

上拉加载的事件回调

示例代码

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本