listContact

来自于:官方立即使用

open close reloadData setRefreshHeader hide show deleteItem refreshItem insertItem scrollToItem

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述

listContact定义了一个类似微信联系人界面的模板,开发者可自定义数据源,ui界面里的各种元素的样式等,右边字母索引导航条不支持字母以外的内容

图片说明

open

打开

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

params

x:

  • 类型:数字
  • 默认值:0
  • 描述:(可选项)列表视图的左上角点的坐标

y:

  • 类型:数字
  • 默认值:0
  • 描述:(可选项)列表视图的左上角点的坐标

w:

  • 类型:数字
  • 默认值:当前屏幕宽度
  • 描述:(可选项)列表视图的宽

h:

  • 类型:数字
  • 默认值:当前屏幕的高
  • 描述:(可选项)列表视图的高

bgColor:

  • 类型:字符串
  • 默认值:#FFFFFF
  • 描述:(可选项)当前屏幕宽度列表的背景色,支持 rgb,rgba,#

groupTitle:

  • 类型:JSON 对象
  • 默认值:见内部字段
  • 描述:(可选项)配置组标题的字体颜色和大小

内部字段:

  1. {
  2. height:30 //(可选项)数字类型;groupTitle的高度;默认:30
  3. color: //(可选项)字符串类型,默认#949494,支持 rgb,rgba,#
  4. size: //(可选项)数字类型,默认13
  5. selectedSize: //(可选项)数字类型;选中后所在分组标题大小;默认;13
  6. bgColor: //(可选项)标题背景色,默认#DBDBDB,支持 rgb,rgba,#
  7. }

leftBtn:

  • 类型:数组对象
  • 默认值:无
  • 描述:(可选项)往右滑动cell露出的按钮组成的数字
  • 备注:若不传则表示cell不可向右滑动
  • 内部字段:
  1. [{
  2. color: //按钮背景色,支持 rgb,rgba,#
  3. title: //按钮名字
  4. selectColor //按钮选中时候的颜色值,支持 rgb,rgba,#
  5. }]

leftBg:

  • 类型:字符串
  • 默认值:#5cacee
  • 描述:(可选项)往右滑动cell露出的视图的背景色,支持 rgb,rgba,#

rightBtn:

  • 类型:数组对象
  • 默认值:无
  • 描述:(可选项)往左滑动cell露出的按钮组成的数组
  • 备注:若不传则表示cell不可向左滑动
  • 内部字段:
  1. [{
  2. color: //按钮背景色,支持 rgb,rgba,#
  3. title: //按钮名字,支持 rgb,rgba,#
  4. selectColor //按钮选中时候的颜色值,支持 rgb,rgba,#
  5. }]

rightBg:

  • 类型:字符串
  • 默认值:#6c7b8b
  • 描述:(可选项)往左滑动cell露出的视图的背景色,支持 rgb,rgba,#

borderColor:

  • 类型:字符串
  • 默认值:#696969
  • 描述:(可选项)每个cell之间分割线的颜色,支持 rgb,rgba,#

cellBgColor:

  • 类型:字符串
  • 默认值:#AFEEEE
  • 描述:(可选项)cell的背景色,支持 rgb,rgba,#

cellSelectColor:

  • 类型:字符串
  • 默认值:#F5F5F5
  • 描述:(可选项)选中cell时的颜色,支持 rgb,rgba,#

cellHeight:

  • 类型:数字
  • 默认值:55
  • 描述:(可选项)每个cell的高度

imgHeight:

  • 类型:数字
  • 默认值:cellHeight-10
  • 描述:(可选项)头像的高

imgWidth:

  • 类型:数字
  • 默认值:imgHeight
  • 描述:(可选项)头像的宽

imgCorner:

  • 类型:数字
  • 描述:图片的圆角
  • 默认:0

titleWidth:

  • 类型:数字
  • 描述:标题宽度

data:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:列表数据源,必传项
  • 内部字段:
  1. {
  2. common: [{ //区域标题,字符串类型
  3. img: //(可选项)cell的头像,,支持http、https、widget、fs等网络和本地图片路径协议,网络图片会被缓存到本地
  4. placeholderImg: //(可选项)头像,本地路径,加载网络图片时显示界面上的图,可为空
  5. title: //(可选项)cell的标题,若subtitle为空时,title上下居中位置
  6. subTitle: //(可选项)cell的子标题,为空时title上下居中显示
  7. titleLocation //(可选项)标题在水平线上的位置center,left,right,默认left
  8. titleSize //(可选项)标题字体的大小,默认12
  9. titleColor //(可选项)标题字体的颜色值,默认黑色,支持 rgb,rgba,#
  10. subTitleLocation //(可选项)子标题在水平线上的位置center,left,right默认left
  11. subTitleSize //(可选项)子标题字体的大小,默认12
  12. subTitleColor //(可选项)子标题字体的颜色值,默认黑色,支持 rgb,rgba,#
  13. }],
  14. A:[{}],
  15. B:[{}],,,,,,
  16. }

indicator:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:(可选项)是否添加右边索引导航条
  • 备注:若不传则不显示右边索引导航条
  • 内部字段:
  1. {
  2. bgColor: //(可选项)背景色,字符串,默认透明,支持 rgb,rgba,#
  3. color //(可选项)索引指器颜色,字符串类型,默认#A1A1A1,支持 rgb,rgba,#
  4. }

fixedOn:

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

searchBar:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:(可选项)搜索条设置
  • 备注:若不传则不显示搜索条
  • 内部字段:
  1. {
  2. bgColor: //(可选项)搜索条背景色,字符串,默认透明,支持 rgb,rgba,#
  3. cancelColor: //(可选项)取消文字的颜色,字符串类型,默认#A1A1A1,支持 rgb,rgba,#
  4. placeholder: //(可选项)搜索条提示文字,字符串类型,默认空,不传则不显示提示文字
  5. h: //(可选项)搜索框的高度,数字类型,默认44
  6. textFieldBgColor: //(可选项)搜索框文本区域的背景色,字符串类型,支持rgb、rgba、#
  7. }

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. index: //点击某个cell所在区域内的cell的下标
  3. section: //被点击的cell所在的区域的下标
  4. key //被点击的cell的区域的key
  5. clickType: //点击类型,0-cell;1-右边按钮;2-左边的按钮
  6. btnIndex: //点击按钮时返回其下标
  7. }

示例代码

  1. var listContact = api.require('listContact');
  2. listContact.open({
  3. h: api.frameHeight,
  4. rightBtn: [{
  5. color: '#8B0000',
  6. title: '备注'
  7. }],
  8. data: {
  9. common: [{
  10. placeholderImg: 'widget://res/img/ic/listContact.png',
  11. img: 'https://img1.3lian.com/gif/more/11/201206/a5194ba8c27b17def4a7c5495aba5e32.jpg',
  12. title: '标题'
  13. }],
  14. A: [{
  15. placeholderImg: 'widget://res/img/ic/listContact.png',
  16. img: 'https://img1.3lian.com/gif/more/11/201206/a5194ba8c27b17def4a7c5495aba5e32.jpg',
  17. title: '标题'
  18. }, {
  19. placeholderImg: 'widget://res/img/ic/listContact.png',
  20. title: '标题'
  21. }, {
  22. placeholderImg: 'widget://res/img/ic/listContact.png',
  23. title: '标题'
  24. }, {
  25. placeholderImg: 'widget://res/img/ic/listContact.png',
  26. title: '标题'
  27. }, {
  28. placeholderImg: 'widget://res/img/ic/listContact.png',
  29. title: '标题'
  30. }, {
  31. placeholderImg: 'widget://res/img/ic/listContact.png',
  32. title: '标题'
  33. }, {
  34. placeholderImg: 'widget://res/img/ic/listContact.png',
  35. title: '标题'
  36. }, {
  37. placeholderImg: 'widget://res/img/ic/listContact.png',
  38. title: '标题'
  39. }, {
  40. placeholderImg: 'widget://res/img/ic/listContact.png',
  41. title: '标题'
  42. }, {
  43. placeholderImg: 'widget://res/img/ic/listContact.png',
  44. title: '标题'
  45. }]
  46. },
  47. fixedOn: api.frameName
  48. }, function(ret, err) {
  49. if (ret) {
  50. alert(JSON.stringify(ret));
  51. } else {
  52. alert(JSON.stringify(err));
  53. }
  54. });

补充说明

打开列表视图

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭listContact

close()

示例代码

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

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

reloadData

刷新列表数据,若不传 data 则仅停止下拉刷新状态

reloadData({params})

params

data:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:(可选项)刷新的数据源,若不传则仅停止下拉刷新状态

内部字段:

  1. {
  2. common: [{ //区域标题,字符串类型
  3. img: //(可选项)cell的头像,,支持http、https、widget、fs等网络和本地图片路径协议,网络图片会被缓存到本地
  4. placeholderImg: //(可选项)头像,本地路径,加载网络图片时显示界面上的图,可为空
  5. title: //(可选项)cell的标题,若subtitle为空时,title上下居中位置
  6. subTitle: //(可选项)cell的子标题,为空时title上下居中显示
  7. titleLocation //(可选项)标题在水平线上的位置center,left,right,默认left
  8. titleSize //(可选项)标题字体的大小,默认12
  9. titleColor //(可选项)标题字体的颜色值,默认黑色,支持 rgb,rgba,#
  10. subTitleLocation //(可选项)子标题在水平线上的位置center,left,right默认left
  11. subTitleSize //(可选项)子标题字体的大小,默认12
  12. subTitleColor //(可选项)子标题字体的颜色值,默认黑色,支持 rgb,rgba,#
  13. }],
  14. A:[{}],
  15. B:[{}],,,,,,
  16. }

示例代码

  1. var listContact = api.require('listContact');
  2. listContact.reloadData({
  3. data: {
  4. common: [{
  5. placeholderImg: 'widget://res/img/ic/listContact.png',
  6. img: 'https://img1.3lian.com/gif/more/11/201206/a5194ba8c27b17def4a7c5495aba5e32.jpg',
  7. title: '标题'
  8. }],
  9. A: [{
  10. placeholderImg: 'widget://res/img/ic/listContact.png',
  11. img: 'https://img1.3lian.com/gif/more/11/201206/a5194ba8c27b17def4a7c5495aba5e32.jpg',
  12. title: '标题'
  13. }, {
  14. placeholderImg: 'widget://res/img/ic/listContact.png',
  15. title: '标题'
  16. }, {
  17. placeholderImg: 'widget://res/img/ic/listContact.png',
  18. title: '标题'
  19. }, {
  20. placeholderImg: 'widget://res/img/ic/listContact.png',
  21. title: '标题'
  22. }, {
  23. placeholderImg: 'widget://res/img/ic/listContact.png',
  24. title: '标题'
  25. }, {
  26. placeholderImg: 'widget://res/img/ic/listContact.png',
  27. title: '标题'
  28. }, {
  29. placeholderImg: 'widget://res/img/ic/listContact.png',
  30. title: '标题'
  31. }, {
  32. placeholderImg: 'widget://res/img/ic/listContact.png',
  33. title: '标题'
  34. }, {
  35. placeholderImg: 'widget://res/img/ic/listContact.png',
  36. title: '标题'
  37. }, {
  38. placeholderImg: 'widget://res/img/ic/listContact.png',
  39. title: '标题'
  40. }]
  41. }
  42. }, function(ret, err) {
  43. if (ret) {
  44. alert(JSON.stringify(ret));
  45. } else {
  46. alert(JSON.stringify(err));
  47. }
  48. });

补充说明

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRefreshHeader

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

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

params

loadingImg:

  • 类型:字符串
  • 默认值:无
  • 描述:下拉刷新的小箭头本地图片的路径

bgColor:

  • 类型:字符串
  • 默认值:#f5f5f5
  • 描述:(可选项)下拉刷新视图的背景色

textColor:

  • 类型:字符串
  • 默认值:#8e8e8e
  • 描述:(可选项)提示文字颜色

textDown:

  • 类型:字符串
  • 默认值:下拉可以刷新…
  • 描述:(可选项)提示文字

textUp:

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

showTime:

  • 类型:布尔值
  • 默认值:true
  • 描述:(可选项)是否显示刷新时间

callback(ret, err)

返回触发刷新事件

示例代码

  1. var listContact = api.require('listContact');
  2. listContact.setRefreshHeader({
  3. loadingImg: 'widget://res/img/ic/listContact_arrow.png',
  4. bgColor: '#F5F5F5',
  5. textColor: '#8E8E8E',
  6. textDown: '下拉可以刷新...',
  7. textUp: '松开开始刷新...',
  8. showTime: true
  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及更高版本

hide

隐藏listContact列表视图

hide()

示例代码

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

补充说明

隐藏列表视图,并没有从内存里清除

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

show

显示列表视图

show()

示例代码

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

补充说明

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

deleteItem

删除指定索引的数据

deleteItem({params})

params

index:

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

key:

  • 类型:字符串
  • 默认值:无
  • 描述:要删除的数据所在的区域的key

示例代码

  1. var listContact = api.require('listContact');
  2. listContact.deleteItem({
  3. index: 2,
  4. key: A
  5. });

补充说明

可用性

iOS系统,Android系统

可提供的1.0.2及更高版本

refreshItem

刷新指定index条目的数据

refreshItem({params})

params

index:

  • 类型:数字
  • 默认值:0
  • 描述:(可选项)要刷新数据的item索引下标

key:

  • 类型:字符串
  • 默认值:无
  • 描述:要刷新的数据所在的区域的key

data:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:要刷新的item的数据源

内部字段:

  1. {
  2. img: //(可选项)cell的头像图片路径,支持http、https、widget、fs等网络和本地图片路径协议,网络图片会被缓存到本地
  3. placeholderImg: //(可选项)头像,本地路径,加载网络图片时显示界面上的图
  4. title: //(可选项)cell的标题,若subtitle为空时,title上下居中位置
  5. subTitle: //(可选项)cell的子标题,可为空,为空时title上下居中显示
  6. titleLocation //(可选项)标题在水平线上的位置center,left,right,默认left
  7. titleSize //(可选项)标题字体的大小,默认12
  8. titleColor //(可选项)标题字体的颜色值,默认黑色,支持 rgb,rgba,#
  9. subTitleLocation //(可选项)子标题在水平线上的位置center,left,right默认left
  10. subTitleSize //(可选项)子标题字体的大小,默认12
  11. subTitleColor //(可选项)子标题字体的颜色值,默认黑色, 支持 rgb,rgba,#
  12. }

示例代码

  1. var listContact = api.require('listContact');
  2. listContact.refreshItem({
  3. index: 2,
  4. data: {
  5. title: '刷新指定下标的标题',
  6. subTitle: '刷新指定下标的子标题'
  7. }
  8. });

补充说明

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

insertItem

插入指定索引的数据

insertItem({params})

params

index:

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

key:

  • 类型:字符串
  • 默认值:无
  • 描述:要插入的数据所在的区域的key

data:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:要插入的item的数据源

内部字段:

  1. {
  2. img: //(可选项)cell的头像图片路径,支持http、https、widget、fs等网络和本地图片路径协议,网络图片会被缓存到本地
  3. placeholderImg: //(可选项)头像,本地路径,加载网络图片时显示界面上的图
  4. title: //(可选项)cell的标题,若subtitle为空时,title上下居中位置
  5. subTitle: //(可选项)cell的子标题,可为空,为空时title上下居中显示
  6. titleLocation //(可选项)标题在水平线上的位置center,left,right,默认left
  7. titleSize //(可选项)标题字体的大小,默认12
  8. titleColor //(可选项)标题字体的颜色值,默认黑色,支持 rgb,rgba,#
  9. subTitleLocation //(可选项)子标题在水平线上的位置center,left,right默认left
  10. subTitleSize //(可选项)子标题字体的大小,默认12
  11. subTitleColor //(可选项)子标题字体的颜色值,默认黑色, 支持 rgb,rgba,#
  12. }

示例代码

  1. var listContact = api.require('listContact');
  2. listContact.insertItem({
  3. index: 2,
  4. data: {
  5. img: 'widget://res/img/ic/listContact.jpg',
  6. title: '12:00',
  7. subTitle: 'APICloud粉丝互动会',
  8. remark: '完成'
  9. }
  10. });

补充说明

可用性

iOS系统,Android系统

可提供的1.0.2及更高版本

scrollToItem

滚动到指定 index 条目

scrollToItem({params})

params

index:

  • 类型:数字
  • 描述:要滚动到的 item 的索引

key:

  • 类型:字符串
  • 描述:要滚动到的 item 所在的区域的 key

示例代码

  1. var listContact = api.require('listContact');
  2. listContact.scrollToItem({
  3. index: 2,
  4. key: 'B'
  5. });

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本