listViewEntity

来自于:APICloud 官方立即使用

open close show hide setAttr getIndex getDataByIndex setSwipeBtns reloadData deleteItem updateItem insertItem appendData getCount setRefreshHeader setRefreshFooter

概述

listViewEntity 模块封装了一个数据列表控件,列表项水平侧滑可出现控制按钮;开发者可自定义列表的数据源,及列表的样式,支持列表项的增、删、改、查,支持批量更新、追加数据,支持下拉刷新和上拉加载事件。

open

打开 listViewEntity 模块

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

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 备注:Android 必须传此参数。
  • 内部字段:
  1. {
  2. x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
  3. y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
  4. w: 320, //(可选项)数字类型;模块的宽度;默认值:所属的 Window 或 Frame 的宽度
  5. h: 480 //(可选项)数字类型;模块的高度;默认值:所属的 Window 或 Frame 的高度
  6. }

data:

  • 类型:数组
  • 描述:列表的数据源,开发者可以自定义唯一的键值对信息(如:uid: ‘1001’),供 getIndex 使用
  • 内部字段:
  1. [{
  2. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  3. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  4. itemHeight: 55, //(可选项)数字类型;item的高度,默认:55
  5. rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同下方 rightBtns 参数
  6. }]

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

styles:

  • 类型:JSON 对象
  • 描述:(可选项)模块各部分的样式
  • 内部字段:
  1. {
  2. borderColor: '#696969', //(可选项)字符串类型;列表分割线的颜色,支持 rgb、rgba、#;默认:'#696969'
  3. item: { //(可选项)JSON对象;列表项的样式
  4. bgColor: '#AFEEEE', //(可选项)字符串类型;列表项的背景色,支持 rgb、rgba、#;默认:'#AFEEEE'
  5. activeBgColor: '#F5F5F5', //(可选项)字符串类型;列表项按下时的背景色,支持 rgb、rgba、#;默认:'#F5F5F5'
  6. titleSize: 12, //(可选项)数字类型;列表项标题文字大小;默认:12
  7. titleColor: '#000', //(可选项)字符串类型;列表项标题文字颜色,支持 rgb,rgba,#;默认:'#000000'
  8. subTitleSize: 12, //(可选项)数字类型;列表项子标题文字大小;默认:12
  9. subTitleColor: '#000', //(可选项)字符串类型:列表项子标题文字颜色,支持 rgb、rgba、#;默认:'#000000'
  10. titleLeftMargin:10, //(可选项)数字类型;标题的左边距;默认:10
  11. titleTopMargin: 5, //(可选项)数字类型;标题的上边距;默认:5(仅在title & subTile不为空时有效)
  12. subTitleBottomMargin:5, //(可选项)数字类型;标题的下边距;默认:5(仅在title & subTile不为空时有效)
  13. subTitleLeftMargin:10 //(可选项)数字类型;标题的左边距;默认:10
  14. }
  15. }

fixedOn:

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

showScrollBar:

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

callback(ret)

ret:

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

示例代码

  1. var listViewEntity = api.require('listViewEntity');
  2. listViewEntity.open({
  3. rect: {
  4. x: 0,
  5. y: 0,
  6. w: api.winWidth,
  7. h: api.frameHeight
  8. },
  9. data: [{
  10. title: '',
  11. subTitle: '',
  12. itemHeight: 55,
  13. rightBtns: []
  14. }, {
  15. title: '',
  16. subTitle: '',
  17. itemHeight: 55,
  18. rightBtns: []
  19. }, {
  20. title: '',
  21. subTitle: '',
  22. itemHeight: 55,
  23. rightBtns: []
  24. }],
  25. rightBtns: [{
  26. bgColor: '#388e8e',
  27. activeBgColor: '',
  28. width: 70,
  29. title: '按钮',
  30. titleSize: 12,
  31. titleColor: '#fff',
  32. icon: '',
  33. iconWidth: 20
  34. }],
  35. styles: {
  36. borderColor: '#696969',
  37. item: {
  38. bgColor: '#AFEEEE',
  39. activeBgColor: '#F5F5F5',
  40. titleSize: 12.0,
  41. titleColor: '#000',
  42. subTitleSize: 12.0,
  43. subTitleColor: '#000'
  44. }
  45. },
  46. fixedOn: api.frameName
  47. }, function(ret, err) {
  48. if (ret) {
  49. alert(JSON.stringify(ret));
  50. } else {
  51. alert(JSON.stringify(err));
  52. }
  53. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭数据列表模块

close()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示 listViewEntity 模块

show()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hide

隐藏 listViewEntity 模块

hide()

示例代码

  1. var listViewEntity = api.require('listViewEntity');
  2. listViewEntity.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 listViewEntity = api.require('listViewEntity');
  2. listViewEntity.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

key:

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

value:

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

callback(ret)

ret:

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

示例代码

  1. var listViewEntity = api.require('listViewEntity');
  2. listViewEntity.getIndex({
  3. key: 'uid',
  4. value: '1001'
  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及更高版本

getDataByIndex

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

getDataByIndex({params}, callback(ret))

params

index:

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

callback(ret)

ret:

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

示例代码

  1. var listViewEntity = api.require('listViewEntity');
  2. listViewEntity.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 listViewEntity = api.require('listViewEntity');
  2. listViewEntity.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. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  3. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  4. rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同 rightBtns 参数
  5. }]

callback(ret)

ret:

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

示例代码

  1. var listViewEntity = api.require('listViewEntity');
  2. listViewEntity.reloadData({
  3. data: [{
  4. title: '新标题',
  5. subTitle: '新子标题'
  6. }]
  7. }, function(ret) {
  8. if (ret) {
  9. alert(JSON.stringify(ret));
  10. } else {
  11. alert(JSON.stringify(err));
  12. }
  13. });

可用性

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 listViewEntity = api.require('listViewEntity');
  2. listViewEntity.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. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  3. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  4. rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同 rightBtns 参数
  5. }

callback(ret)

ret:

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

示例代码

  1. var listViewEntity = api.require('listViewEntity');
  2. listViewEntity.updateItem({
  3. index: 2,
  4. data: {
  5. title: '刷新标题',
  6. subTitle: '刷新子标题',
  7. }
  8. }, function(ret, err) {
  9. if (ret) {
  10. alert(JSON.stringify(ret));
  11. } else {
  12. alert(JSON.stringify(err));
  13. }
  14. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

insertItem

根据索引向某一条列表插入数据

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

params

index:

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

data:

  • 类型:JSON 对象
  • 描述:列表的数据源
  • 内部字段:
  1. {
  2. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  3. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  4. rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,内部字段同 open 接口的 rightBtns 参数
  5. }

callback(ret)

ret:

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

示例代码

  1. var listViewEntity = api.require('listViewEntity');
  2. listViewEntity.insertItem({
  3. index: 2,
  4. data: {
  5. title: '12:00',
  6. subTitle: 'APICloud粉丝互动会'
  7. }
  8. }, function(ret, err) {
  9. if (ret) {
  10. alert(JSON.stringify(ret));
  11. } else {
  12. alert(JSON.stringify(err));
  13. }
  14. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

appendData

向列表末端追加数据

appendData({params}, callback(ret))

params

data:

  • 类型:数组对象
  • 描述:列表的数据源,若不传或传空,仅收起上拉加载组件
  • 内部字段:
  1. [{
  2. title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
  3. subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
  4. rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,内部字段同 open 接口的 rightBtns 参数
  5. }]

callback(ret)

ret:

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

示例代码

  1. var listViewEntity = api.require('listViewEntity');
  2. listViewEntity.appendData({
  3. data: [{
  4. title: '新增标题',
  5. subTitle: '新增子标题',
  6. }]
  7. }, function(ret, err) {
  8. if (ret) {
  9. alert(JSON.stringify(ret));
  10. } else {
  11. alert(JSON.stringify(err));
  12. }
  13. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getCount

获取当前列表的总数据量

getCount(callback(ret))

callback(ret)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRefreshHeader

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

setRefreshHeader({params}, callback(ret))

params

loadingImg:

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

bgColor:

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

textColor:

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

textDown:

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

textUp:

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

loadingText:

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

lastUpdateText:

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

showTime:

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

callback()

下拉刷新的事件回调

示例代码

  1. var listViewEntity = api.require('listViewEntity');
  2. listViewEntity.setRefreshHeader({
  3. loadingImg: 'widget://res/UIListView_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及更高版本

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)

上拉加载的事件回调

示例代码

  1. var listViewEntity = api.require('listViewEntity');
  2. listViewEntity.setRefreshFooter({
  3. loadingImg: 'widget://res/UIListView_arrow.png',
  4. bgColor: '#F5F5F5',
  5. textColor: '#8E8E8E',
  6. textUp: '上拉加载更多...',
  7. textDown: '松开开始加载...',
  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及更高版本