UIListCard

来自于:官方立即使用

open close hide show reloadData appendData

论坛示例

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

概述

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

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

图片说明

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. name: '艾雪瑞', //(必传)字符串类型;条目的标题,若传空则放在#号分组下面
  3. customerTypes: '个人客户'//(可选项)字符串类型;(可支持传入图片,可支持widget://和http://和https://)条目的类型,不传则不显示
  4. }]

styles:

  • 类型:JSON 对象
  • 描述:(可选项)列表样式设置
  • 内部字段:
  1. {
  2. backgroudColor:'rgba(0,0,0,0)', // (可选项) 模块的背景颜色,默认:'rgba(0,0,0,0)'
  3. sectionTitle: { //(可选项)JSON对象;标题的样式
  4. bgColor: '#eee', //(可选项)字符串类型;标题的背景色,支持 rgb、rgba、#;默认:'#EEEEEE'
  5. color: '#000', //(可选项)字符串类型;标题文字颜色,支持 rgb、rgba、#;默认:'#000000'
  6. size: 12, //(可选项)数字类型;标题文字大小;默认:12.0
  7. height: 25 //(可选项)数字类型;区域标题的高度,默认:25.0
  8. },
  9. item: { //(可选项)JSON对象;列表项的样式
  10. bgColor: '#fff', //(可选项)字符串类型;列表项的背景色,支持 rgb、rgba、#;默认:'#FFFFFF'
  11. activeBgColor: '#696969', //(可选项)字符串类型;列表项按下时的背景色,支持 rgb、rgba、#;默认:'#696969'
  12. color: '#000', //(可选项)字符串类型;列表项的文字颜色,支持 rgb、rgba、#,默认:'#000000'
  13. size: 14, //(可选项)数字类型;列表项的文字大小,默认:14.0
  14. height: 40 //(可选项)数字类型;列表项的高度,默认:40.0
  15. customerColor:'#000' // (可选项)字符串类型;条目类型的文字颜色
  16. customerSize: 14, //(可选项)数字类型;条目类型的文字的大小
  17. customerWidth:10 // (可选项) 数字类型;
  18. 条目类型若为图片,则此参数有效,条目类型图片的宽度
  19. customerHeight:10 // (可选项) 数字类型;
  20. 条目类型若为图片,则此参数有效,条目类型图片的高度
  21. }
  22. }

indicator:

  • 类型:布尔类型
  • 描述:(可选项)是否显示字母索引
  • 默认:true

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 UIListCard = api.require('UIListCard');
  2. UIListCard.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. "name" : "王科研",
  12. "customerTypes" : "个人客户",
  13. "dept_id" : "002000",
  14. "isdeleted" : "N",
  15. "tags" : "",
  16. "isremark" : 1,
  17. "phones" : [{
  18. "phone" : "13366148872",
  19. "type" : "1"
  20. }]
  21. }, {
  22. "employee_id" : 192,
  23. "name" : "艾瑞雪",
  24. "customerTypes" : "个人客户",
  25. "dept_id" : "002000",
  26. "isdeleted" : "N",
  27. "tags" : "",
  28. "isremark" : 1,
  29. "phones" : [{
  30. "phone" : "13366148872",
  31. "type" : "1"
  32. }]
  33. }, {
  34. "employee_id" : 193,
  35. "name" : "秋风疾",
  36. "customerTypes" : "个人客户",
  37. "dept_id" : "002000",
  38. "isdeleted" : "N",
  39. "tags" : "",
  40. "isremark" : 1,
  41. "phones" : [{
  42. "phone" : "13366148872",
  43. "type" : "1"
  44. }]
  45. }],
  46. fixedOn : api.frameName
  47. }, function(ret) {
  48. if (ret) {
  49. alert(JSON.stringify(ret));
  50. }
  51. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭列表模块

close()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hide

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

hide()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示已隐藏的列表模块

show()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

reloadData

刷新列表数据

reloadData({params})

params

contacts:

  • 类型:JSON 对象
  • 描述:列表数据源
  • 内部字段:
  1. [{
  2. name: '艾雪瑞', //字符串类型;条目的标题,若传空则放在#号分组下面。
  3. customerTypes: '个人客户' //字符串类型;条目类型,不传则不显示
  4. }]

示例代码

  1. var UIListCard = api.require('UIListCard');
  2. UIListCard.reloadData({
  3. contacts:[{
  4. "employee_id": 191,
  5. "name": "刘德华",
  6. "customerTypes" : "个人客户",
  7. "dept_id": "002000",
  8. "isdeleted": "N",
  9. "tags": "",
  10. "isremark": 1,
  11. "phones": [
  12. {
  13. "phone": "13366148872",
  14. "type": "1"
  15. }
  16. ]
  17. },{
  18. "employee_id": 192,
  19. "name": "张学友",
  20. "customerTypes" : "个人客户",
  21. "dept_id": "002000",
  22. "isdeleted": "N",
  23. "tags": "",
  24. "isremark": 1,
  25. "phones": [
  26. {
  27. "phone": "13366148872",
  28. "type": "1"
  29. }
  30. ]
  31. },{
  32. "employee_id": 193,
  33. "name": "郭富城",
  34. "customerTypes" : "个人客户",
  35. "dept_id": "002000",
  36. "isdeleted": "N",
  37. "tags": "",
  38. "isremark": 1,
  39. "phones": [
  40. {
  41. "phone": "13366148872",
  42. "type": "1"
  43. }
  44. ]
  45. }]
  46. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

appendData

向列表末端追加数据

appendData({params}, callback(ret))

params

data:

  • 类型:数组对象
  • 描述:列表的数据源,若不传或传空,仅收起上拉加载组件
  • 内部字段:
  1. [{
  2. name: '木子', //字符串类型;条目的标题,若传空则放在#号分组下面。
  3. customerTypes: '个人客户' //字符串类型;条目类型,不传则不显示
  4. }]

callback(ret)

ret:

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

示例代码

  1. var UIListCard = api.require('UIListCard');
  2. UIListCard.appendData({
  3. data: [{
  4. "employee_id": 199,
  5. "name": "木子",
  6. "customerTypes" : "个人客户",
  7. "dept_id": "002000",
  8. "isdeleted": "N",
  9. "tags": "",
  10. "isremark": 1,
  11. "phones": [
  12. {
  13. "phone": "13366148872",
  14. "type": "1"
  15. }
  16. ]
  17. }]
  18. }, function(ret, err) {
  19. if (ret) {
  20. alert(JSON.stringify(ret));
  21. } else {
  22. alert(JSON.stringify(err));
  23. }
  24. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

论坛示例

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