UIListContacts

立即使用

open close hide show reloadData

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。

概述

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

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

UIListContacts - 图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, //(可选项)数字类型;模块的宽度;默认:所属的 Window 或 Frame 的宽度
  5. h: 200 //(可选项)数字类型;模块的高度;默认:w * 2.0/3.0
  6. }

contacts:

  • 类型:数组对象
  • 描述:列表数据源
  • 内部字段:
  1. [{
  2. remark: '艾雪瑞', //字符串类型;条目的标题,不传则不显示
  3. phonetic: 'aixuerui', //字符串类型;标题的拼音表示
  4. dept_name: '创达集团', //字符串类型;条目的子标题,不传则不显示
  5. position: '员工' //字符串类型;条目的职位,不传则不显示
  6. }]

headHidden:

  • 类型:布尔
  • 描述:(可选项)是否隐藏头像和名字后面的职务标签(position)
  • 默认:false

fixedOn:

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

callback(ret)

ret:

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

示例代码

  1. var UIListContacts = api.require('UIListContacts');
  2. UIListContacts.open({
  3. rect : {
  4. x : 0,
  5. y : 44,
  6. w : api.frameWidth,
  7. h : api.frameHeight - 104
  8. },
  9. contacts : [{
  10. "employee_id" : 191,
  11. "remark" : "王科研",
  12. "phonetic" : "WangKeYang", //名字的拼音
  13. "namephonetic" : "WangKeYang88",
  14. "position" : "研发",
  15. "dept_id" : "002000",
  16. "isdeleted" : "N",
  17. "tags" : "",
  18. "dept_name" : "创达集团",
  19. "isremark" : 1,
  20. "phones" : [{
  21. "phone" : "13366148872",
  22. "type" : "1"
  23. }]
  24. }, {
  25. "employee_id" : 192,
  26. "remark" : "艾瑞雪",
  27. "phonetic" : "WangKeYang", //名字的拼音
  28. "namephonetic" : "WangKeYang88",
  29. "position" : "研发",
  30. "dept_id" : "002000",
  31. "isdeleted" : "N",
  32. "tags" : "",
  33. "dept_name" : "创达集团",
  34. "isremark" : 1,
  35. "phones" : [{
  36. "phone" : "13366148872",
  37. "type" : "1"
  38. }]
  39. }, {
  40. "employee_id" : 193,
  41. "remark" : "秋风疾",
  42. "phonetic" : "WangKeYang88", //名字的拼音
  43. "namephonetic" : "WangKeYang88",
  44. "position" : "研发",
  45. "dept_id" : "002000",
  46. "isdeleted" : "N",
  47. "tags" : "",
  48. "dept_name" : "创达集团",
  49. "isremark" : 1,
  50. "phones" : [{
  51. "phone" : "13366148872",
  52. "type" : "1"
  53. }]
  54. }],
  55. fixedOn : api.frameName
  56. }, function(ret) {
  57. if (ret) {
  58. alert(JSON.stringify(ret));
  59. }
  60. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭列表模块

close()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hide

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

hide()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示已隐藏的列表模块

show()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

reloadData

刷新列表数据

reloadData({params})

params

contacts:

  • 类型:JSON 对象
  • 描述:列表数据源
  • 内部字段:
  1. [{
  2. name: '艾雪瑞', //字符串类型;条目的标题,不传则不显示
  3. phonetic: 'aixuerui', //字符串类型;标题的拼音表示
  4. remark: '创达集团', //字符串类型;条目的子标题,不传则不显示
  5. position: '员工' //字符串类型;条目的职位,不传则不显示
  6. }]

示例代码

  1. var UIListContacts = api.require('UIListContacts');
  2. UIListContacts.reloadData({
  3. contacts:[{
  4. "employee_id": 191,
  5. "name": "刘德华",
  6. "phonetic": "WangKeYang",//名字的拼音
  7. "namephonetic": "WangKeYang88",
  8. "remark": "备注",
  9. "position": "研发",
  10. "dept_id": "002000",
  11. "isdeleted": "N",
  12. "tags": "",
  13. "dept_name": "",
  14. "isremark": 1,
  15. "phones": [
  16. {
  17. "phone": "13366148872",
  18. "type": "1"
  19. }
  20. ]
  21. },{
  22. "employee_id": 192,
  23. "name": "张学友",
  24. "phonetic": "WangKeYang",//名字的拼音
  25. "namephonetic": "WangKeYang88",
  26. "remark": "备注",
  27. "position": "研发",
  28. "dept_id": "002000",
  29. "isdeleted": "N",
  30. "tags": "",
  31. "dept_name": "",
  32. "isremark": 1,
  33. "phones": [
  34. {
  35. "phone": "13366148872",
  36. "type": "1"
  37. }
  38. ]
  39. },{
  40. "employee_id": 193,
  41. "name": "郭富城",
  42. "phonetic": "WangKeYang88",//名字的拼音
  43. "namephonetic": "WangKeYang88",
  44. "remark": "备注",
  45. "position": "研发",
  46. "dept_id": "002000",
  47. "isdeleted": "N",
  48. "tags": "",
  49. "dept_name": "",
  50. "isremark": 1,
  51. "phones": [
  52. {
  53. "phone": "13366148872",
  54. "type": "1"
  55. }
  56. ]
  57. }]
  58. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本