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 必须传此参数。
- 内部字段:
{
x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(可选项)数字类型;模块的宽度;默认值:所属的 Window 或 Frame 的宽度
h: 480 //(可选项)数字类型;模块的高度;默认值:所属的 Window 或 Frame 的高度
}
data:
- 类型:数组
- 描述:列表的数据源,开发者可以自定义唯一的键值对信息(如:uid: ‘1001’),供 getIndex 使用
- 内部字段:
[{
title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
itemHeight: 55, //(可选项)数字类型;item的高度,默认:55
rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同下方 rightBtns 参数
}]
rightBtns:
- 类型:数组
- 描述:(可选项)列表项向左滑动露出的按钮组,建议:配置列表每项的通用按钮,用此参数;配置某一项的特定按钮,可在
data
数组的指定项传入rightBtns
参数 - 内部字段:
[{
bgColor: '#388e8e', //(可选项)字符串类型;按钮背景色,支持 rgb、rgba、#;默认:'#388e8e'
activeBgColor: '', //(可选项)字符串类型;按钮按下时的背景色,支持 rgb、rgba、#
width: 70, //(可选项)数字类型;按钮的宽度;默认:w / 4
title: '', //(可选项)字符串类型;按钮标题,水平、垂直居中
titleSize: 12, //(可选项)数字类型;按钮标题文字大小;默认:12
titleColor: '#fff', //(可选项)字符串类型;按钮标题文字颜色,支持 rgb、rgba、#;默认:'#ffffff'
icon: '', //(可选项)字符串类型;按钮标题前的图标路径(本地路径,支持fs://、widget://),水平、垂直居中,图标为正方形
iconWidth: 20 //(可选项)数字类型;按钮标题前的图标宽度,图标为正方形;默认:20
}]
bounces:
- 类型:布尔
- 描述:(可选项)是否开启弹动,android 平台不支持本参数
- 默认:false
styles:
- 类型:JSON 对象
- 描述:(可选项)模块各部分的样式
- 内部字段:
{
borderColor: '#696969', //(可选项)字符串类型;列表分割线的颜色,支持 rgb、rgba、#;默认:'#696969'
item: { //(可选项)JSON对象;列表项的样式
bgColor: '#AFEEEE', //(可选项)字符串类型;列表项的背景色,支持 rgb、rgba、#;默认:'#AFEEEE'
activeBgColor: '#F5F5F5', //(可选项)字符串类型;列表项按下时的背景色,支持 rgb、rgba、#;默认:'#F5F5F5'
titleSize: 12, //(可选项)数字类型;列表项标题文字大小;默认:12
titleColor: '#000', //(可选项)字符串类型;列表项标题文字颜色,支持 rgb,rgba,#;默认:'#000000'
subTitleSize: 12, //(可选项)数字类型;列表项子标题文字大小;默认:12
subTitleColor: '#000', //(可选项)字符串类型:列表项子标题文字颜色,支持 rgb、rgba、#;默认:'#000000'
titleLeftMargin:10, //(可选项)数字类型;标题的左边距;默认:10
titleTopMargin: 5, //(可选项)数字类型;标题的上边距;默认:5(仅在title & subTile不为空时有效)
subTitleBottomMargin:5, //(可选项)数字类型;标题的下边距;默认:5(仅在title & subTile不为空时有效)
subTitleLeftMargin:10 //(可选项)数字类型;标题的左边距;默认:10
}
}
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
showScrollBar:
- 类型:布尔
- 描述:(可选项)是否显示滚动条
- 默认:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
eventType: 'show', //字符串类型;交互事件类型
//取值范围如下:
//show(模块加载成功)
//clickRightBtn(点击侧滑出现的右侧按钮)
//clickContent(点击列表项的内容,除了配图和备注以外的区域)
index: 0, //数字类型;列表项的索引
btnIndex: 0 //数字类型;列表项侧滑出现的按钮的索引
}
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.open({
rect: {
x: 0,
y: 0,
w: api.winWidth,
h: api.frameHeight
},
data: [{
title: '',
subTitle: '',
itemHeight: 55,
rightBtns: []
}, {
title: '',
subTitle: '',
itemHeight: 55,
rightBtns: []
}, {
title: '',
subTitle: '',
itemHeight: 55,
rightBtns: []
}],
rightBtns: [{
bgColor: '#388e8e',
activeBgColor: '',
width: 70,
title: '按钮',
titleSize: 12,
titleColor: '#fff',
icon: '',
iconWidth: 20
}],
styles: {
borderColor: '#696969',
item: {
bgColor: '#AFEEEE',
activeBgColor: '#F5F5F5',
titleSize: 12.0,
titleColor: '#000',
subTitleSize: 12.0,
subTitleColor: '#000'
}
},
fixedOn: api.frameName
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
close
关闭数据列表模块
close()
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.close();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
show
显示 listViewEntity 模块
show()
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.show();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
hide
隐藏 listViewEntity 模块
hide()
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.hide();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setAttr
设置列表的纵坐标和高度
setAttr({params}, callback(ret))
params
y:
- 类型:数字
- 描述:(可选项)模块的纵坐标
- 默认值:原 y 值
h:
- 类型:数字
- 描述:(可选项)模块的高度
- 默认值:原 h 值
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.setAttr({
y: 40,
h: 200
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
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 对象
- 内部字段:
{
index: 0, //数字类型;当前列表项的索引
data: [] //数组类型;当前列表项的数据,内部字段与 open 时的 data 参数一致
}
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.getIndex({
key: 'uid',
value: '1001'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getDataByIndex
根据列表项的索引获取对应的数据
getDataByIndex({params}, callback(ret))
params
index:
- 类型:数字
- 描述:(可选项)列表项的索引
- 默认值:0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
data: [] //数组类型;当前列表项的数据,内部字段与 open 时的 data 参数一致
}
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.getDataByIndex({
index: 0
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setSwipeBtns
设置侧滑显示出来的按钮
setSwipeBtns({params}, callback(ret))
params
index:
- 类型:数字
- 描述:(可选项)列表项的索引
- 默认值:0
btns:
- 类型:数组
- 描述:(可选项)列表项侧滑露出的按钮组
- 内部字段:
[{
bgColor: '#388e8e', //(可选项)字符串类型;按钮背景色,支持 rgb、rgba、#;默认:'#388e8e'
activeBgColor: '', //(可选项)字符串类型;按钮按下时的背景色,支持 rgb、rgba、#
width: 70, //(可选项)数字类型;按钮的宽度;默认:w / 4
title: '', //(可选项)字符串类型;按钮标题,水平、垂直居中
titleSize: 12, //(可选项)数字类型;按钮标题文字大小;默认:12
titleColor: '#fff', //(可选项)字符串类型;按钮标题文字颜色,支持 rgb、rgba、#;默认:'#ffffff'
icon: '', //(可选项)字符串类型;按钮标题前的图标路径(本地路径,支持fs://、widget://),水平、垂直居中,图标为正方形
iconWidth: 20 //(可选项)数字类型;按钮标题前的图标宽度,图标为正方形;默认:20
}]
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.setSwipeBtns({
index: 0,
btns: [{
bgColor: '#388e8e',
activeBgColor: '',
width: 70,
title: '',
titleSize: 12,
titleColor: '#fff',
icon: '',
iconWidth: 20
}]
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
reloadData
刷新列表数据
reloadData({params}, callback(ret))
params
data:
- 类型:数组
- 描述:(可选项)列表的数据源,若不传或传空,仅收起下拉刷新组件
- 内部字段:
[{
title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同 rightBtns 参数
}]
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.reloadData({
data: [{
title: '新标题',
subTitle: '新子标题'
}]
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
deleteItem
根据索引删除某一条列表的数据
deleteItem({params}, callback(ret))
params
index:
- 类型:数字
- 描述:(可选项)数据列表的索引
- 默认值:0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.deleteItem({
index: 2
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
updateItem
根据索引更新某一条列表的数据
updateItem({params}, callback(ret))
params
index:
- 类型:数字
- 描述:(可选项)数据列表的索引
- 默认值:0
data:
- 类型:JSON 对象
- 描述:列表的数据源
- 内部字段:
{
title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同 rightBtns 参数
}
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.updateItem({
index: 2,
data: {
title: '刷新标题',
subTitle: '刷新子标题',
}
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
insertItem
根据索引向某一条列表插入数据
insertItem({params}, callback(ret, err))
params
index:
- 类型:数字
- 描述:(可选项)数据列表的索引
- 默认值:列表最后一条数据的索引
data:
- 类型:JSON 对象
- 描述:列表的数据源
- 内部字段:
{
title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,内部字段同 open 接口的 rightBtns 参数
}
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.insertItem({
index: 2,
data: {
title: '12:00',
subTitle: 'APICloud粉丝互动会'
}
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
appendData
向列表末端追加数据
appendData({params}, callback(ret))
params
data:
- 类型:数组对象
- 描述:列表的数据源,若不传或传空,仅收起上拉加载组件
- 内部字段:
[{
title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,内部字段同 open 接口的 rightBtns 参数
}]
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.appendData({
data: [{
title: '新增标题',
subTitle: '新增子标题',
}]
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getCount
获取当前列表的总数据量
getCount(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
count: 21 //数字类型;当前列表包含的数据总数
}
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.getCount(function(ret) {
alert(JSON.stringify(ret));
});
可用性
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()
下拉刷新的事件回调
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.setRefreshHeader({
loadingImg: 'widget://res/UIListView_arrow.png',
bgColor: '#F5F5F5',
textColor: '#8E8E8E',
textDown: '下拉可以刷新...',
textUp: '松开开始刷新...',
showTime: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
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)
上拉加载的事件回调
示例代码
var listViewEntity = api.require('listViewEntity');
listViewEntity.setRefreshFooter({
loadingImg: 'widget://res/UIListView_arrow.png',
bgColor: '#F5F5F5',
textColor: '#8E8E8E',
textUp: '上拉加载更多...',
textDown: '松开开始加载...',
showTime: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本