UIListContactsPlus

来自于:AC模块工作室立即使用

open close hide show reloadData

论坛示例

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

概述

UIListContactsPlus 展示了一个联系人列表。开发者只需传入数据源,模块会自动将联系人排序,展示出来。列表右侧字母导航条会自动随联系人数量调整。可以设置侧滑按钮。

列表条目(cell)布局如下图所示:

UIListContactsPlus - 图1

open

打开列表

open({params}, callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
  1. {
  2. x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
  3. y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
  4. w: 320, //(可选项)数字类型;模块的宽度,支持设置'auto';默认:所属的 Window 或 Frame 的宽度
  5. h: 200 //(可选项)数字类型;模块的高度,支持设置'auto';默认:w * 2.0/3.0
  6. }

contacts:

  • 类型:数组对象
  • 描述:列表数据源
  • 内部字段:
  1. [{
  2. imgPath: '', //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地
  3. imgTitle:'张涛', //(可选项)字符串类型;列表项配图位置可传入的文字;若imgTitle和imgPath都传则显示图片
  4. imgBackgroundColor:'#fff', //(可选项)字符串类型;列表项配图位置传入文字的背景颜色,支持 rgb、rgba、#;默认:'#fff'
  5. title: '艾雪瑞', //字符串类型;条目的标题,不传则不显示
  6. subTitle: '创达集团', //字符串类型;条目的子标题,不传则不显示
  7. phonetic:'', //(可选项)字符串类型; title汉字拼音
  8. rightBtns:[{ //rightBtns有值时,将会忽略下面的rightBtns参数
  9. bgColor: '#388e8e', //(可选项)字符串类型;按钮背景色,支持 rgb、rgba、#;默认:'#388e8e'
  10. title: '', //(可选项)字符串类型;按钮标题,水平、垂直居中
  11. titleSize:15 //(可选项)字符串类型;按钮标题的大小,默认:15
  12. }]
  13. checkBoxSelected:false, //(可选项) 布尔类型;复选框是否选中;默认:false
  14. supportChecked:true //(可选项) 布尔类型;是否允许选中;默认:true
  15. }]

rightBtns:

  • 类型:数组
  • 描述:(可选项)列表项向左滑动露出的按钮组
  • 内部字段:
  1. [{
  2. bgColor: '#388e8e', //(可选项)字符串类型;按钮背景色,支持 rgb、rgba、#;默认:'#388e8e'
  3. title: '', //(可选项)字符串类型;按钮标题,水平、垂直居中
  4. titleSize:15 //(可选项)字符串类型;按钮标题的大小,默认:15
  5. }]

styles:

  • 类型:JSON 对象
  • 描述:(可选项)模块头部的样式
  • 内部字段:
  1. {
  2. alphabetColor:'#000', //(可选项)字符串类型;右侧字母索引的颜色,支持rgb、rgba、#;默认:'#000',
  3. alphabetFont:12 , //(可选项)数字类型;右侧字母索引的字母大小;默认:12 **注意:iOS不支持此参数**
  4. leftAlphabetColor:'#000', //(可选项)字符串类型;左侧字母索引的颜色,支持rgb、rgba、#;默认:'#000'
  5. leftAlphabetFont:12 , //(可选项)数字类型;左侧字母索引的字母大小;默认:12 **注意:该参数不能大于20,否则将显示不完全**
  6. sectionIndexBgColor:'rgba(0,0,0,0)', //(可选项)字符串类型;右侧索引的背景颜色,支持rgb、rgba、#;默认:'rgba(0,0,0,0)'
  7. sectionIndexTrackingBgColor:'rgba(0,0,0,0)', //(可选项)字符串类型;选中时,右侧索引的背景颜色,支持rgb、rgba、#;默认:'rgba(0,0,0,0)'
  8. alphabetBg:'"#e1e1e1', //(可选项)字符串类型;横向字母索引的背景颜色,支持rgb、rgba、#;默认:'#e1e1e1'
  9. isLastLineHide:false, //(可选项)字符串类型;每一组最后一条线是否隐藏,默认:'false'
  10. isHideGroupHeader:false, //(可选项)布尔类型;是否显示分组header;默认:false
  11. checkBoxBtn:{ //(可选项)JSON对象;复选框样式,若不传则不显示
  12. marginRight:10, //(可选项)数字类型;复选框的右边距,默认:10
  13. size:30, //(可选项)数字类型;复选框的大小,默认:30
  14. normalImg:'' //(可选项)字符串类型;未选中图标路径(本地路径,支持fs://、widget://)
  15. selectedImg:'' //(可选项)字符串类型;选中图片的路径(本地路径,支持fs://、widget://)
  16. },
  17. indexer:{ //(可选项)设置索引条的上下边距(该参数仅支持android)
  18. marginTop: 100, //(可选项)数字类型;索引上边距;默认:0
  19. marginBottom:100 //(可选项)数字类型;索引下边距;默认:0
  20. },
  21. header:{
  22. bg:'#fff' , //(可选项)字符串类型;头部视图的颜色,支持 rgb、rgba、#、img;默认:'#696969'
  23. height:44, //(可选项)数字类型;头部视图的高度;默认:44
  24. }
  25. item: { //(可选项)JSON对象;列表项的样式
  26. dividingLine:{ //(可选项)JSON对象;分割线样式
  27. leftMargin:10, //(可选项)数字类型;分割线的宽度,默认:和文字的左边对齐
  28. lineHeight:0.5, //(可选项)数字类型;分割线的高度,默认:0.5
  29. lineColor:'#e4e4e4', //(可选项)字符串类型;分割线的颜色,默认:'#e4e4e4'
  30. },
  31. bgColor: '#AFEEEE', //(可选项)字符串类型;列表项的背景色,支持 rgb、rgba、#;默认:'#AFEEEE'
  32. activeBgColor: '#F5F5F5', //(可选项)字符串类型;列表项按下时的背景色,支持 rgb、rgba、#;默认:'#F5F5F5'
  33. height: 55, //(可选项)数字类型;列表项的高度;默认:55
  34. imgMarginLeft:10, //(可选项)数字类型;列表项的图片的左边距;默认:10
  35. imgMarginRight:10, //(可选项)数字类型;列表项的图片的右边距;默认:10
  36. imgTitleSize:14, // (可选项) 数字类型;列表项的图片位置传入的文字大小,默认14
  37. imgTitleColor:'#f00', //(可选项)字符串类型;列表项的的图片位置传入文字的颜色,支持 rgb、rgba、#;默认:'#f00'
  38. imgWidth: 40, //(可选项)数字类型;列表项配图的宽度;默认:列表项的高度减去10px
  39. imgHeight: 40, //(可选项)数字类型;列表项配图的高度;默认:列表项的高度减去10px
  40. imgCorner: 20, //(可选项)数字类型;列表项配图的圆角大小;默认:20
  41. titleMarginTop:5 //(可选项)数字类型;列表项的标题的上边距;默认:5
  42. titleSize: 12, //(可选项)数字类型;列表项标题文字大小;默认:12
  43. titleColor: '#000', //(可选项)字符串类型;列表项标题文字颜色,支持 rgb,rgba,#;默认:'#000000'
  44. titleWidth: 100 //(可选项)数字类型;列表项标题文字的宽度;默认:100
  45. subTitleMarginBottom:5 //(可选项)数字类型;列表项的子标题的下边距;默认:5
  46. subTitleSize: 12, //(可选项)数字类型;列表项子标题文字大小;默认:12
  47. subTitleColor: '#000', //(可选项)字符串类型:列表项子标题文字颜色,支持 rgb、rgba、#;默认:'#000000'
  48. subTitleWidth: 100, //(可选项)数字类型;列表项子标题文字的宽度;默认:100
  49. }
  50. }

alphabeticalIndexStyles:

  • 类型:JSON 对象
  • 描述:(可选项)右侧索引点击时中心显示的样式
  • 内部字段:
  1. {
  2. size :60, //数字类型;中心显示的大小;默认:60
  3. bgColor:'rgba(69,69,69,0.7)', //字符串类型;中心显示的颜色,支持 rgb、rgba、#;默认:rgba(69,69,69,0.7)
  4. corner:30, //数字类型;中心显示的圆角度;默认:30
  5. alphaFontSize:20, //数字类型;中心显示的字母字体大小;默认:20
  6. alphaColor:'#000' //字符串类型;中心显示的字母字体颜色,支持 rgb、rgba、#;默认:'#000'
  7. }

backgroundColor:

  • 类型:字符串
  • 描述:(可选项)模块背景色
  • 默认:’#fff’

bounces:

  • 类型:布尔
  • 描述:(可选项)是否弹动
  • 默认:false

fixedOn:

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

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: 'show', // 字符串类型;交互事件类型,取值范围如下:
  3. // show:模块打开,数据排序成功显示在屏幕事件
  4. // clickRightBtn(点击侧滑出现的右侧按钮)
  5. // clickHeader (点击header触发)
  6. //click:用户点击事件
  7. key: 'A', //字符串类型;被点击的条目所在的区域的标题,仅当 eventType 为 click 时有值
  8. section: 0, //数字类型;被点击的条目所在的区域在所有区域中的索引,仅当 eventType 为 click 时有值
  9. index: 0, //数字类型;被点击的条目在所在区域内的索引,仅当 eventType 为 click 时有值
  10. contact: {} //JSON 对象;所选条目的联系人信息,内容同传入的数据一致,仅当 eventType 为 click 时有值
  11. rightBtnIndex:0 // 数字类型; 点击左滑按钮的index,仅当eventType = clickRightBtn
  12. }

示例代码

  1. var UIListContactsPlus = api.require('UIListContactsPlus');
  2. UIListContactsPlus.open({
  3. rect : {
  4. x : 0,
  5. y : 44,
  6. w : api.frameWidth,
  7. h : api.frameHeight - 104
  8. },
  9. contacts : [{
  10. imgPath: '',
  11. imgTitle:'张涛',
  12. imgBackgroundColor:'#fff',
  13. title: '艾雪瑞',
  14. subTitle: '创达集团',
  15. }, {
  16. imgPath: '',
  17. imgTitle:'张涛',
  18. imgBackgroundColor:'#fff',
  19. title: '艾雪瑞',
  20. subTitle: '创达集团',
  21. }],
  22. fixedOn : api.frameName,
  23. bounces:true
  24. }, function(ret) {
  25. if (ret) {
  26. alert(JSON.stringify(ret));
  27. }
  28. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭列表模块

close()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hide

隐藏列表模块,并没有从内存里清除

hide()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示已隐藏的列表模块

show()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

reloadData

刷新列表数据

reloadData({params})

params

contacts:

  • 类型:JSON 对象
  • 描述:列表数据源
  • 内部字段:
  1. [{
  2. imgPath: '', //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地
  3. imgTitle:'张涛', //(可选项)字符串类型;列表项配图位置可传入的文字;若imgTitle和imgPath都传则显示图片
  4. imgBackgroundColor:'#fff', //(可选项)字符串类型;列表项配图位置传入文字的背景颜色,支持 rgb、rgba、#;默认:'#fff'
  5. title: '艾雪瑞', //字符串类型;条目的标题,不传则不显示
  6. subTitle: '创达集团', //字符串类型;条目的子标题,不传则不显示
  7. rightBtns:[{
  8. bgColor: '#388e8e', //(可选项)字符串类型;按钮背景色,支持 rgb、rgba、#;默认:'#388e8e'
  9. title: '', //(可选项)字符串类型;按钮标题,水平、垂直居中
  10. }]
  11. }]

示例代码

  1. var UIListContactsPlus = api.require('UIListContactsPlus');
  2. UIListContactsPlus.reloadData({
  3. contacts : [{
  4. imgPath: '',
  5. imgTitle:'张涛',
  6. imgBackgroundColor:'#fff',
  7. title: '艾雪瑞',
  8. subTitle: '创达集团',
  9. }, {
  10. imgPath: '',
  11. imgTitle:'张涛',
  12. imgBackgroundColor:'#fff',
  13. title: '艾雪瑞',
  14. subTitle: '创达集团',
  15. }],
  16. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

论坛示例

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