open close show hide setAttr getIndex getDataByIndex setSwipeBtns reloadData deleteItem updateItem appendData getCount setRefreshHeader setRefreshFooter sort cancelOrder closeMenu setStyle cancelStyle
UIListBook 插件封装了一个数据列表控件,列表项水平侧滑可出现控制按钮;开发者可自定义列表的数据源,及列表的样式,支持列表项的增、删、改、查,支持批量更新、追加数据,支持下拉刷新和上拉加载事件
注意:本插件 iOS 平台上最低适配系统版本为 iOS 9.0
打开 UIListBook 插件
open({params}, callback(ret, err))
rect:
{
x: 0, //(可选项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(可选项)数字类型;支持设置'auto';插件的宽度;默认值:所属的 Window 或 Frame 的宽度
h: 480 //(可选项)数字类型;支持设置'auto';插件的高度;默认值:所属的 Window 或 Frame 的高度
}
data:
[{
imgPath: '', //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地
title: '', //(可选项)字符串类型;标题,
subTitle: '', //(可选项)字符串类型;子标题,
label: '', //(可选项)字符串类型;标签
subLabel: '', //(可选项)字符串类型;子标签
grop: '', //(可选项)字符串类型;分组
time: '', //(可选项)字符串类型;时间
icon: '', //(可选项)字符串类型;右侧按钮图标路径(本地路径,支持fs://、widget://)
chooseIcon: '', //(可选项)字符串类型;右侧按钮弹出扇形页面图标情况下路径,图片时扇形一部分,扇形消失,图片就消失,不需要扇形时不要设置此路径(本地路径,支持fs://、widget://);默认:icon设置路径
rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同下方 rightBtns 参数
}]
rightBtns:
data
数组的指定项传入 rightBtns
参数[{
bgColor: '#388e8e', //(可选项)字符串类型;按钮背景色,支持 rgb、rgba、#;默认:'#388e8e'
width: 70, //(可选项)数字类型;按钮的宽度;默认:w / 4
title: '', //(可选项)字符串类型;按钮标题,水平、垂直居中
titleSize: 12, //(可选项)数字类型;按钮标题文字大小;默认:12
titleColor: '#fff', //(可选项)字符串类型;按钮标题文字颜色,支持 rgb、rgba、#;默认:'#ffffff'
icon: '', //(可选项)字符串类型;按钮标题前的图标路径(本地路径,支持fs://、widget://),水平、垂直居中,图标为正方形
iconWidth: 20 //(可选项)数字类型;按钮标题前的图标宽度,图标为正方形;默认:20
}]
bounces:
styles:
{
borderColor: '#EEEEEE', //(可选项)字符串类型;列表分割线的颜色,支持 rgb、rgba、#;默认:'#EEEEEE'
borderHigh: 1, //(可选项)数字类型;列表分割线的高度;默认:1
borderLeftMargin:15,//(可选项)数字类型;列表分割线的左边距;默认:列表项的配图的最左边
borderRightMargin:0,//(可选项)数字类型;列表分割线的右边距;默认:索引的最左边
marginLeft:15, //(可选项)数字类型;列表项的(左上方索引,配图)的左边距;默认:15
item: { //(可选项)JSON对象;列表项的样式
bgColor: '#FFFFFF', //(可选项)字符串类型;列表项的背景色,支持 rgb、rgba、#;默认:'#FFFFFF'
activeBgColor: '#F5F5F5', //(可选项)字符串类型;列表项按下时的背景色,支持 rgb、rgba、#;默认:'#F5F5F5'
height:113 //(可选项)数字类型;列表的高度;默认:113
imgWidth: 90, //(可选项)数字类型;列表项配图的宽度;默认:90
imgHeight: 51, //(可选项)数字类型;列表项配图的高度;默认:51
imgCorner: 4, //(可选项)数字类型;列表项配图的圆角大小;默认:0
placeholderImg: '', //(可选项)字符串类型;列表项配图的占位图路径(本地路径,fs://、widget://)
indexItemSize: 10, //(可选项)数字类型;列表右边索引文字大小;默认:10
认:'rgba(0,0,0,0)'
indexItemTop: 52, //(可选项)数字类型;列表右边索引上边距;默认:52
indexItemBottom: 15, //(可选项)数字类型;列表右边索引下边距;默认:52
indexSize: 16, //(可选项)数字类型;列表项索引文字大小;默认:16
indexColor: '#000', //(可选项)字符串类型:列表项索引文字颜色,支持 rgb、rgba、#;默认:'#000000'
titleSize: 16, //(可选项)数字类型;列表项标题文字大小;默认:16
titleColor: '#000', //(可选项)字符串类型;列表项标题文字颜色,支持 rgb,rgba,#;默认:'#000000'
titleWordSpace: 0, //(可选项)(仅ios支持)数字类型;列表项标题字间距;默认:0
subTitleSize: 14, //(可选项)数字类型;列表项子标题文字大小;默认:14
subTitleColor: '#999999', //(可选项)字符串类型:列表项子标题文字颜色,支持 rgb、rgba、#;默认:'##999999'
subTitleWordSpace: 0, //(可选项)(仅ios支持)数字类型;列表项子标题字间距;默认:0
subTitleLineSpace: 8, //(可选项)数字类型;列表项子标题行间距(距离标题位置);默认:8
labelSize: 11, //(可选项)数字类型;列表项标签文字大小;默认:11
labelColor: '#97A0DC', //(可选项)字符串类型;列表项标签文字颜色,支持 rgb,rgba,#;默认:'#97A0DC'
labelBorderWide: 1, //(可选项)数字类型;列表标签边框宽度;默认:1
labelBorderColor: '#000000', //(可选项)字符串类型;列表项标签边框颜色,支持 rgb,rgba,#;默认:'#000000'
labelBorderCorners: 1, //(可选项)数字类型;列表标签边框圆角;默认:1
labelWordSpace: 0, //(可选项)(仅ios支持)数字类型;列表项标签字间距;默认:0
subLabelSize: 12, //(可选项)数字类型;列表项子标签文字大小;默认:12
subLabelColor: '#999999', //(可选项)字符串类型:列表项子标签文字颜色,支持 rgb、rgba、#;默认:'##999999'
subLabelWordSpace: 0, //(可选项)(仅ios支持)数字类型;列表项子标签字间距;默认:0
subLabelLineSpace: 8, //(可选项)数字类型;列表项子标签行间距(距离子标题位置);默认:8
gropSize: 12, //(可选项)数字类型;列表项分组文字大小;默认:12
gropColor: '#999999', //(可选项)字符串类型:列表项分组文字颜色,支持 rgb、rgba、#;默认:'##999999'
gropLineSpace: 8, //(可选项)数字类型;列表项分组行间距(距离子标题位置);默认:8
timeSize: 12, //(可选项)数字类型;列表项时间文字大小;默认:12
timeColor: '#999999', //(可选项)字符串类型:列表项时间文字颜色,支持 rgb、rgba、#;默认:'##999999'
timeLineSpace: 8, //(可选项)数字类型;列表项时间行间距(距离子标题位置);默认:8
}
}
rightButtonInfo:
[{
image:'' //字符类型;图片地址,仅支持本地图片(支持widget、fs)
}]
fixedOn:
showScrollBar:
ret:
{
eventType: 'show', //字符串类型;交互事件类型
//取值范围如下:
//show(插件加载成功)
//clickRightBtn(点击侧滑出现的右侧按钮)
//clickContent(点击列表项)
//clickPopupBtn(点击弹窗按钮)
index: 0, //数字类型;列表项的索引
btnIndex: 0, //数字类型;列表项侧滑出现的按钮的索引
infoIndex: 0 //数字类型;列表项右边按钮弹窗索引
}
var UIListBook = api.require('UIListBook');
UIListBook.open({
rect: {
x: 0,
y: 0,
w: api.winWidth,
h: api.frameHeight
},
data: [{
uid: '1001',
imgPath: 'widget://res/img/apicloud.png',
title: '标题',
subTitle: '子标题,说明文字',
icon: ''
}, {
uid: '1001',
imgPath: 'widget://res/img/apicloud.png',
title: '标题',
subTitle: '子标题,说明文字',
icon: ''
}],
rightBtns: [{
bgColor: '#388e8e',
width: 70,
title: '按钮',
titleSize: 12,
titleColor: '#fff',
icon: '',
iconWidth: 20
}],
styles: {
borderColor: '#696969',
item: {
bgColor: '#AFEEEE',
activeBgColor: '#F5F5F5',
imgWidth: 40,
imgHeight: 40,
imgCorner: 4,
placeholderImg: '',
titleSize: 12.0,
titleColor: '#000',
subTitleSize: 12.0,
subTitleColor: '#000',
remarkColor: '#000',
remarkSize: 16,
remarkIconWidth: 30
}
},
fixedOn: api.frameName
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **close**关闭数据列表插件
close()
var UIListBook = api.require('UIListBook');
UIListBook.close();
iOS系统,Android系统
可提供的1.0.0及更高版本
# **show**显示 UIListBook 插件
show()
var UIListBook = api.require('UIListBook');
UIListBook.show();
iOS系统,Android系统
可提供的1.0.0及更高版本
# **hide**隐藏 UIListBook 插件
hide()
var UIListBook = api.require('UIListBook');
UIListBook.hide();
iOS系统,Android系统
可提供的1.0.0及更高版本
# **setAttr**设置列表的纵坐标和高度
setAttr({params}, callback(ret))
y:
h:
ret:
{
status: true //布尔型;true||false
}
var UIListBook = api.require('UIListBook');
UIListBook.setAttr({
y: 40,
h: 200
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **getIndex**根据开发者自定义的唯一标识(open 接口的 data 参数中自定义的唯一标识)查找列表项对应的数据(此接口仅支持iOS)
getIndex({params}, callback(ret, err))
key:
value:
ret:
{
index: 0, //数字类型;当前列表项的索引
data: [] //数组类型;当前列表项的数据,内部字段与 open 时的 data 参数一致
}
var UIListBook = api.require('UIListBook');
UIListBook.getIndex({
key: 'uid',
value: '1001'
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统 可提供的1.0.0及更高版本
# **getDataByIndex**根据列表项的索引获取对应的数据
getDataByIndex({params}, callback(ret))
index:
ret:
{
data: {} //json对象类型;当前列表项的数据,内部字段与 open 时的 data 参数一致
}
var UIListBook = api.require('UIListBook');
UIListBook.getDataByIndex({
index: 0
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **setSwipeBtns**设置侧滑显示出来的按钮
setSwipeBtns({params}, callback(ret))
index:
btns:
[{
bgColor: '#388e8e', //(可选项)字符串类型;按钮背景色,支持 rgb、rgba、#;默认:'#388e8e'
width: 70, //(可选项)数字类型;按钮的宽度;默认:w / 4
title: '', //(可选项)字符串类型;按钮标题,水平、垂直居中
titleSize: 12, //(可选项)数字类型;按钮标题文字大小;默认:12
titleColor: '#fff', //(可选项)字符串类型;按钮标题文字颜色,支持 rgb、rgba、#;默认:'#ffffff'
icon: '', //(可选项)字符串类型;按钮标题前的图标路径(本地路径,支持fs://、widget://),水平、垂直居中,图标为正方形
iconWidth: 20 //(可选项)数字类型;按钮标题前的图标宽度,图标为正方形;默认:20
}]
ret:
{
status: true //布尔型;true||false
}
var UIListBook = api.require('UIListBook');
UIListBook.setSwipeBtns({
index: 0,
btns: [{
bgColor: '#388e8e',
width: 70,
title: '',
titleSize: 12,
titleColor: '#fff',
icon: '',
iconWidth: 20
}]
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **reloadData**刷新列表数据
reloadData({params}, callback(ret))
data:
[{
imgPath: '', //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则(子)标题和(子)标签靠最左侧显示
title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
label: '', //(可选项)字符串类型;标签
subLabel: '', //(可选项)字符串类型;子标签
grop: '', //(可选项)字符串类型;分组
time: '', //(可选项)字符串类型;时间
icon: '', //(可选项)字符串类型;右侧按钮图标路径(本地路径,支持fs://、widget://)
chooseIcon: '', //(可选项)字符串类型;右侧按钮选中情况下图标路径(本地路径,支持fs://、widget://);默认:icon设置路径
rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同下方 rightBtns 参数
}]
ret:
{
status: true //布尔型;true||false
}
var UIListBook = api.require('UIListBook');
UIListBook.reloadData({
data: [{
imgPath: 'http://img1.3lian.com/gif/more/11/201206/a5194ba8c27b17def4a7c5495aba5e32.jpg',
title: '新标题',
subTitle: '新子标题',
remark: '新备注',
icon: ''
}]
}, function(ret) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **deleteItem**根据索引删除某一条列表的数据
deleteItem({params}, callback(ret))
index:
ret:
{
status: true //布尔型;true||false
}
var UIListBook = api.require('UIListBook');
UIListBook.deleteItem({
index: 2
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **updateItem**根据索引更新某一条列表的数据
updateItem({params}, callback(ret))
index:
data:
{
imgPath: '', //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则标题和子标题靠最左侧显示
title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
grop: '', //(可选项)字符串类型;分组
time: '', //(可选项)字符串类型;时间
remark: '', //(可选项)字符串类型;右边备注文字
icon: '', //(可选项)字符串类型;右侧备注的图标路径(本地路径,支持fs://、widget://)
chooseIcon: '', //(可选项)字符串类型;右侧按钮选中情况下图标路径(本地路径,支持fs://、widget://);默认:icon设置路径
rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同 rightBtns 参数
}
ret:
{
status: true //布尔型;true||false
}
var UIListBook = api.require('UIListBook');
UIListBook.updateItem({
index: 2,
data: {
imgPath: 'http://img1.3lian.com/gif/more/11/201206/a5194ba8c27b17def4a7c5495aba5e32.jpg',
title: '刷新标题',
subTitle: '刷新子标题',
remark: '刷新备注'
}
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **appendData**向列表追加数据
appendData({params}, callback(ret))
data:
[{
imgPath: '', //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则(子)标题和(子)标签靠最左侧显示
title: '', //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
subTitle: '', //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
label: '', //(可选项)字符串类型;标签
subLabel: '', //(可选项)字符串类型;子标签
grop: '', //(可选项)字符串类型;分组
time: '', //(可选项)字符串类型;时间
icon: '', //(可选项)字符串类型;右侧按钮图标路径(本地路径,支持fs://、widget://)
rightBtns: [] //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同下方 rightBtns 参数
}]
ret:
{
status: true //布尔型;true||false
}
var UIListBook = api.require('UIListBook');
UIListBook.appendData({
data: [{
imgPath: 'http://d.hiphotos.baidu.com/image/pic/item/4d086e061d950a7b29a788c209d162d9f2d3c922.jpg',
title: '新增标题',
subTitle: '新增子标题',
remark: '新增备注'
}]
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **getCount**获取当前列表的总数据量
getCount(callback(ret))
ret:
{
count: 21 //数字类型;当前列表包含的数据总数
}
var UIListBook = api.require('UIListBook');
UIListBook.getCount(function(ret) {
api.alert({msg: JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **setRefreshHeader**设置下拉刷新,通过 reloadData 收起下拉刷新组件
setRefreshHeader({params}, callback(ret))
loadingImg:
bgColor:
textColor:
textDown:
textUp:
loadingText:
下拉刷新的事件回调
var UIListBook = api.require('UIListBook');
UIListBook.setRefreshHeader({
loadingImg: 'widget://res/UIListBook_arrow.png',
bgColor: '#F5F5F5',
textColor: '#8E8E8E',
textDown: '下拉可以刷新...',
textUp: '松开开始刷新...',
showTime: true
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **setRefreshFooter**设置上拉加载,通过 appendData 收起上拉加载组件
setRefreshFooter({params}, callback())
loadingImg:
bgColor:
textColor:
textUp:
textDown:
loadingText:
上拉加载的事件回调
var UIListBook = api.require('UIListBook');
UIListBook.setRefreshFooter({
loadingImg: 'widget://res/UIListBook_arrow.png',
bgColor: '#F5F5F5',
textColor: '#8E8E8E',
textUp: '上拉加载更多...',
textDown: '松开开始加载...',
showTime: true
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **sort**排序
sort({params}, callback(ret))
sort:
var UIListBook = api.require('UIListBook');
UIListBook.sort({
sort:0,
});
iOS系统,Android系统
可提供的1.0.1及更高版本
# **cancelOrder**恢复取消排序
cancelOrder({params}, callback(ret))
isSort:
var UIListBook = api.require('UIListBook');
UIListBook.cancelOrder({
isSort:false
});
iOS系统,Android系统
可提供的1.0.2及更高版本
# **closeMenu**关闭右边弹窗(跳转其他页面时需调用此接口关闭弹窗,此接口仅支持iOS)
closeMenu()
var UIListBook = api.require('UIListBook');
UIListBook.closeMenu();
iOS系统
可提供的1.0.5及更高版本
# **setStyle**设置列表项样式(分组时间不可同时设置)
setStyle({params})
of:
styles:
{
color: '#000', //(可选项)字符串类型;文字颜色,支持 rgb,rgba,#;默认:'#000000'
size: 14, //(可选项)数字类型;文字大小;默认:14
}
var UIListBook = api.require('UIListBook');
UIListBook.setStyle({
styles:{
color: '#000', //(可选项)字符串类型;文字颜色,支持 rgb,rgba,#;默认:'#000000'
size: 14, //(可选项)数字类型;文字大小;默认:14
}
});
iOS系统,Android系统
可提供的1.0.7及更高版本
# **cancelStyle**取消设置列表项样式
cancelStyle()
var UIListBook = api.require('UIListBook');
UIListBook.cancelStyle();
iOS系统
可提供的1.0.7及更高版本