groupList 封装了一个列表控件,实现了一个可向左拖动 cell 的列表视图。开发者可根据需求自定义列表的元素布局,亦可自定义相关字段的样式。支持设置下拉刷新和上拉加载更多事件。支持删除、刷新、在指定位置(index)插入 cell 数据。本插件是由第三方插件开发者提供,使用本插件需在线应用打包安装包
打开
open({params}, callback(ret, err))
rect:
{
x: 0, //(可选项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w: 320, //(可选项)数字类型;插件的宽度;默认值:所属的 Window 或 Frame 的宽度
h: 480 //(可选项)数字类型;插件的高度;默认值:所属的 Window 或 Frame 的高度
}
styles:
{
bg: '#eee', //(可选项)字符串类型;列表背景,支持 rgb、rgba、#、img;默认:'rgba(0,0,0,0)'
title: { //(可选项)JSON 对象类型,分组标题的通用样式设置
bg: '#E0E0E0', //(可选项)字符串类型;分组标题的背景,支持 rgb、rgba、#、img;默认:'#E0E0E0'
h: 25, //(可选项)数字类型;分组标题的高度;默认:25
align: 'left', //(可选项)字符串类型;分组标题的对齐方式,可为 left|center|right;默认:left
color: '#838383', //(可选项)字符串类型;分组标题的字体颜色,支持 rgb、rgba、#;默认:#838383
size: 15, //(可选项)数字类型;分组标题的字体大小;默认:15
marginT: 7, //(可选项)数字类型;分组标题的上边距;默认:7
marginL: 18 //(可选项)数字类型;分组标题的左边距;默认:18
},
cell: { //(可选项)JSON 对象类型,分组子项的通用样式
bg: '#fff', //(可选项)字符串类型;分组子项的背景,支持 rgb、rgba、#、img;默认:#fff
h: 68, //(可选项)数字类型;分组子项的高度;默认:68
main: { //(可选项)JSON 类型;主标题样式设置,当未设置副标题时不显示副标题且不占高度,主标题会自己上下居中显示
marginL: 74, //(可选项)数字类型;主标题相对于分组子项左边的间距大小;默认:74
color: '#636363', //(可选项)字符串类型;主标题文字颜色,支持 rgb、rgba、#;默认:#636363
size: 13, //(可选项)数字类型;主标题字体大小;默认:13
},
sub: { //(可选项)JSON 类型;副标题样式设置;当未设置时不显示副标题且不占高度,主标题会自己上下居中显示
marginL: 74, //(可选项)数字类型;副标题相对于分组子项左边的间距大小;默认:74
marginT: 8, //(可选项)数字类型;副标题和主标题之间的间隙大小;默认:8
color: '#999999', //(可选项)字符串类型;副标题文字颜色,支持 rgb、rgba、#;默认:#999999
size: 12, //(可选项)数字类型;副标题字体大小;默认:12
},
icon: { //(可选项)JSON 类型;头像的样式设置
marginL: 15, //(可选项)数字类型;头像相对于分组子项左边的间距大小;默认:15
marginT: 9, //(可选项)数字类型;头像相对于分组子项上边的间距大小;默认:9
w: 50, //(可选项)数字类型;头像的宽度;默认:50
h: 50, //(可选项)数字类型;头像的高度;默认:同 w
corner: 25 //(可选项)数字类型;头像的圆角半径;默认:2
},
handler: { //(可选项)JSON 类型;cell右边拉手图标的样式设置;若不传则不显示
url: 'fs://handler.png', //JSON 类型;拉手图标的图片地址,要求本地路径(widget://、fs://);未设置时认为 allowHandler 为 false
marginR: 20, //(可选项)数字类型;拉手图标相对于分组子项右边的间距大小;默认:20
marginT: 25, //(可选项)数字类型;拉手图标相对于分组子项上边的间距大小;默认:25
w: 18, //(可选项)数字类型;拉手图标的宽度;默认:18
h: 18 //(可选项)数字类型;拉手图标的高度;默认:同 w
},
options:[{ //(可选项)数组类型;cell 左滑后显示的选项按钮样式组成的数组;未设置则 cell 不可侧滑,侧滑距离为当前cell所有侧滑按钮总宽度。侧滑按钮从右依次往左排列,其索引由0开始
w: 76, //(可选项)数字类型;每个 option 的宽度;默认:76
bg: 'rgba(0,0,0,0)' , //(可选项)字符串类型;每个 option 的背景,支持 rgb、rgba、#、img;默认:'rgba(0,0,0,0)'
title: '关注', //(可选项)字符串类型;侧滑按钮上的标题,若不传则不显示
align: 'center', //(可选项)字符串类型;侧滑按钮标题的对齐方式,可为 left|center|right;默认:center
marginB: 13, //(可选项)数字类型;侧滑按钮标题距离按钮下边间隙大小;默认:13
color: '#fff', //(可选项)字符串类型;侧滑按钮标题的颜色,支持 rgb、rgba、#;默认:'#fff'
size: 11 //(可选项)数字类型;侧滑按钮标题文字大小;默认:11
}],
line: { //(可选项)JSON 类型;同 group 下的 cell 之间的分隔线样式
h: 0.8, //(可选项)数字类型;分隔线的高度;默认:0.8
marginL: 0, //(可选项)数字类型;分隔线距 group 左侧的内边距;默认:0
marginR: 0, //(可选项)数字类型;分隔线距 group 右侧的内边距;默认:0
bg: '#eee', //(可选项)字符串类型;分隔线的颜色,支持:rgb、rgba、#;默认:'#eee'
}
}
}
datas:
[{ //JSON 对象类型组成的数组;一个分组的数据信息
title: '分组标题', //(可选项)字符串类型;分组标题文字,若不传则不显示
cells: [{ //JSON 数组类型;该分组中的 cell 数据
icon: 'fs://creater.png', //字符串类型;图标地址,支持本地和网络资源路径(widget://、fs://、http://、https://),若是网络路径则图片会被缓存到本地
main: '张泉灵', //字符串类型;主标题文字
sub: '活跃值:200' , //(可选项)字符串类型;副标题
options:[{ //(可选项)数组类型;cell 左滑后显示的选项按钮样式组成的数组;若未设置则以styles->cell->options为准,若亦未设置,则该cell不可侧滑
w: 76, //(可选项)数字类型;每个 option 的宽度;默认:76
bg: 'rgba(0,0,0,0)' , //(可选项)字符串类型;每个 option 的背景,支持 rgb、rgba、#、img;默认:'rgba(0,0,0,0)'
title: '关注', //(可选项)字符串类型;侧滑按钮上的标题,若不传则不显示
align: 'center', //(可选项)字符串类型;侧滑按钮标题的对齐方式,可为 left|center|right;默认:center
marginB: 13, //(可选项)数字类型;侧滑按钮标题距离按钮下边间隙大小;默认:13
color: '#fff', //(可选项)字符串类型;侧滑按钮标题的颜色,支持 rgb、rgba、#;默认:'#fff'
size: 11 //(可选项)数字类型;侧滑按钮标题文字大小;默认:11
}],
handler: { //(可选项)JSON 类型;cell右边拉手图标的样式设置;若不传则以styles->cell->handler为准,若亦未设置,则该cell不显示拉手图标
url: 'fs://handler.png', //JSON 类型;拉手图标的图片地址,要求本地路径(widget://、fs://);未设置时认为 allowHandler 为 false
marginR: 20, //(可选项)数字类型;拉手图标相对于分组子项右边的间距大小;默认:20
marginT: 25, //(可选项)数字类型;拉手图标相对于分组子项上边的间距大小;默认:25
w: 18, //(可选项)数字类型;拉手图标的宽度;默认:18
h: 18 //(可选项)数字类型;拉手图标的高度;默认:同 w
}
}]
}]
fixedOn:
fixed:
ret:
{
eventType: 'show', //字符串类型;交互事件类型
//取值范围如下:
//show(插件加载成功)
//clickOption(点击侧滑出现的右侧按钮)
//clickContent(点击列表项的内容,除了配图和备注以外的区域)
//clickImg(点击列表项的配图)
//clickHandler(点击列表项右拉手按钮)
groupIndex: 0, //数字类型;点击目标对应数据源的 group 的索引
cellIndex: 1, //数字类型;点击目标对应数据源中 cell 的索引
optionIndex: 0 , //数字类型;eventType 为 clickOption 时有效,被点击 option 对应的索引
cellData: {} //JSON对象;open时传入的 cell 的原始数据
}
var groupList = api.require('groupList');
groupList.open({
rect: {
x: 0,
y: 0,
w: 320,
h: 480
},
styles: {
bg: '#eee',
title: {
bg: '#E0E0E0',
h: 25,
align: 'left',
color: '#838383',
size: 15,
marginT: 7,
marginL: 18
},
cell: {
bg: '#fff',
h: 68,
main: {
marginL: 74,
marginT: 17,
color: '#636363',
size: 13,
},
sub: {
marginL: 74,
marginT: 8,
color: '#999999',
size: 12,
},
icon: {
marginL: 15,
marginT: 9,
w: 50,
h: 50,
corner: 25
},
handler: {
url: 'fs://handler.png',
marginR: 20,
marginT: 25,
w: 18,
h: 18
},
options: [{
w: 76,
bg: 'rgba(0,0,0,0)',
title: '关注',
align: 'center',
marginB: 13,
color: '#fff',
size: 11
}],
line: {
h: 0.8,
marginL: 0,
marginR: 0,
bg: '#eee',
}
}
},
datas: [{
title: '分组标题',
cells: [{
icon: 'fs://creater.png',
main: '张泉灵',
sub: '活跃值:200',
options: [{
w: 76,
bg: 'rgba(0,0,0,0)',
title: '关注',
align: 'center',
marginB: 13,
color: '#fff',
size: 11
}],
handler: {
url: 'fs://handler.png',
marginR: 20,
marginT: 25,
w: 18,
h: 18
}
}]
}],
fixedOn: api.frameName,
fixed: true
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭 groupList 列表视图
close()
var groupList = api.require('groupList');
groupList.close();
iOS系统,Android系统
可提供的1.0.0及更高版本
刷新列表数据
reloadData({params})
datas:
[{ //JSON 对象类型组成的数组;一个分组的数据信息
title: '分组标题', //(可选项)字符串类型;分组标题文字,若不传则不显示
cells: [{ //JSON 数组类型;该分组中的 cell 数据
icon: 'fs://creater.png', //字符串类型;图标地址,支持本地和网络资源路径(widget://、fs://、http://、https://),若是网络路径则图片会被缓存到本地
main: '张泉灵', //字符串类型;主标题文字
sub: '活跃值:200' , //(可选项)字符串类型;副标题
options:[{ //(可选项)数组类型;cell 左滑后显示的选项按钮样式组成的数组;若未设置则以open->styles->cell->options为准,若亦未设置,则该cell不可侧滑
w: 76, //(可选项)数字类型;每个 option 的宽度;默认:76
bg: 'rgba(0,0,0,0)' , //(可选项)字符串类型;每个 option 的背景,支持 rgb、rgba、#、img;默认:'rgba(0,0,0,0)'
title: '关注', //(可选项)字符串类型;侧滑按钮上的标题,若不传则不显示
align: 'center', //(可选项)字符串类型;侧滑按钮标题的对齐方式,可为 left|center|right;默认:center
marginB: 13, //(可选项)数字类型;侧滑按钮标题距离按钮下边间隙大小;默认:13
color: '#fff', //(可选项)字符串类型;侧滑按钮标题的颜色,支持 rgb、rgba、#;默认:'#fff'
size: 11 //(可选项)数字类型;侧滑按钮标题文字大小;默认:11
}],
handler: { //(可选项)JSON 类型;cell右边拉手图标的样式设置;若不传则以open->styles->cell->handler为准,若亦未设置,则该cell不显示拉手图标
url: 'fs://handler.png', //JSON 类型;拉手图标的图片地址,要求本地路径(widget://、fs://);未设置时认为 allowHandler 为 false
marginR: 20, //(可选项)数字类型;拉手图标相对于分组子项右边的间距大小;默认:20
marginT: 25, //(可选项)数字类型;拉手图标相对于分组子项上边的间距大小;默认:25
w: 18, //(可选项)数字类型;拉手图标的宽度;默认:18
h: 18 //(可选项)数字类型;拉手图标的高度;默认:同 w
}
}]
}]
var groupList = api.require('groupList');
groupList.reloadData({
datas: [{
title: '分组标题',
cells: [{
icon: 'fs://creater.png',
main: '张泉灵',
sub: '活跃值:200',
options: [{
w: 76,
bg: 'rgba(0,0,0,0)',
title: '关注',
align: 'center',
marginB: 13,
color: '#fff',
size: 11
}],
handler: {
url: 'fs://handler.png',
marginR: 20,
marginT: 25,
w: 18,
h: 18
}
}]
}]
});
iOS系统,Android系统
可提供的1.0.0及更高版本
从分组列表中移除指定索引的数据
removeCellAt({params})
groupIndex:
cellIndex:
var groupList = api.require('groupList');
groupList.removeCellAt({
groupIndex: 1,
cellIndex: 1
});
iOS系统,Android系统
可提供的1.0.0及更高版本
在指定分组中的指定位置插入数据
addCellAt({params})
groupIndex:
cellIndex:
cell:
{ //JSON 数组类型;该分组中的 cell 数据
icon: 'fs://creater.png', //字符串类型;图标地址,支持本地和网络资源路径(widget://、fs://、http://、https://),若是网络路径则图片会被缓存到本地
main: '张泉灵', //字符串类型;主标题文字
sub: '活跃值:200' , //(可选项)字符串类型;副标题
options:[{ //(可选项)数组类型;cell 左滑后显示的选项按钮样式组成的数组;若未设置则以open->styles->cell->options为准,若亦未设置,则该cell不可侧滑
w: 76, //(可选项)数字类型;每个 option 的宽度;默认:76
bg: 'rgba(0,0,0,0)' , //(可选项)字符串类型;每个 option 的背景,支持 rgb、rgba、#、img;默认:'rgba(0,0,0,0)'
title: '关注', //(可选项)字符串类型;侧滑按钮上的标题,若不传则不显示
align: 'center', //(可选项)字符串类型;侧滑按钮标题的对齐方式,可为 left|center|right;默认:center
marginB: 13, //(可选项)数字类型;侧滑按钮标题距离按钮下边间隙大小;默认:13
color: '#fff', //(可选项)字符串类型;侧滑按钮标题的颜色,支持 rgb、rgba、#;默认:'#fff'
size: 11 //(可选项)数字类型;侧滑按钮标题文字大小;默认:11
}],
handler: { //(可选项)JSON 类型;cell右边拉手图标的样式设置;若不传则以open->styles->cell->handler为准,若亦未设置,则该cell不显示拉手图标
url: 'fs://handler.png', //JSON 类型;拉手图标的图片地址,要求本地路径(widget://、fs://);未设置时认为 allowHandler 为 false
marginR: 20, //(可选项)数字类型;拉手图标相对于分组子项右边的间距大小;默认:20
marginT: 25, //(可选项)数字类型;拉手图标相对于分组子项上边的间距大小;默认:25
w: 18, //(可选项)数字类型;拉手图标的宽度;默认:18
h: 18 //(可选项)数字类型;拉手图标的高度;默认:同 w
}
}
var groupList = api.require('groupList');
groupList.addCellAt({
groupIndex: 1,
cellIndex: 2,
cell: {
icon: 'fs://creater.png',
main: '张泉灵',
sub: '活跃值:200',
options: [{
w: 76,
bg: 'rgba(0,0,0,0)',
title: '关注',
align: 'center',
marginB: 13,
color: '#fff',
size: 11
}],
handler: {
url: 'fs://handler.png',
marginR: 20,
marginT: 25,
w: 18,
h: 18
}
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
更新指定分组中指定位置的数据
updateCellAt({params})
groupIndex:
cellIndex:
cell:
{ //JSON 数组类型;该分组中的 cell 数据
icon: 'fs://creater.png', //字符串类型;图标地址,支持本地和网络资源路径(widget://、fs://、http://、https://),若是网络路径则图片会被缓存到本地
main: '张泉灵', //字符串类型;主标题文字
sub: '活跃值:200' , //(可选项)字符串类型;副标题
options:[{ //(可选项)数组类型;cell 左滑后显示的选项按钮样式组成的数组;若未设置则以open->styles->cell->options为准,若亦未设置,则该cell不可侧滑
w: 76, //(可选项)数字类型;每个 option 的宽度;默认:76
bg: 'rgba(0,0,0,0)' , //(可选项)字符串类型;每个 option 的背景,支持 rgb、rgba、#、img;默认:'rgba(0,0,0,0)'
title: '关注', //(可选项)字符串类型;侧滑按钮上的标题,若不传则不显示
align: 'center', //(可选项)字符串类型;侧滑按钮标题的对齐方式,可为 left|center|right;默认:center
marginB: 13, //(可选项)数字类型;侧滑按钮标题距离按钮下边间隙大小;默认:13
color: '#fff', //(可选项)字符串类型;侧滑按钮标题的颜色,支持 rgb、rgba、#;默认:'#fff'
size: 11 //(可选项)数字类型;侧滑按钮标题文字大小;默认:11
}],
handler: { //(可选项)JSON 类型;cell右边拉手图标的样式设置;若不传则以open->styles->cell->handler为准,若亦未设置,则该cell不显示拉手图标
url: 'fs://handler.png', //JSON 类型;拉手图标的图片地址,要求本地路径(widget://、fs://);未设置时认为 allowHandler 为 false
marginR: 20, //(可选项)数字类型;拉手图标相对于分组子项右边的间距大小;默认:20
marginT: 25, //(可选项)数字类型;拉手图标相对于分组子项上边的间距大小;默认:25
w: 18, //(可选项)数字类型;拉手图标的宽度;默认:18
h: 18 //(可选项)数字类型;拉手图标的高度;默认:同 w
}
}
var groupList = api.require('groupList');
groupList.updateCellAt({
groupIndex: 1,
cellIndex: 2,
cell: {
icon: 'fs://creater.png',
main: '张泉灵',
sub: '活跃值:200',
options: [{
w: 76,
bg: 'rgba(0,0,0,0)',
title: '关注',
align: 'center',
marginB: 13,
color: '#fff',
size: 11
}],
handler: {
url: 'fs://handler.png',
marginR: 20,
marginT: 25,
w: 18,
h: 18
}
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置下拉刷新样式
setRefreshHeader({params} ,callback(ret, err))
loadingImg:
bgColor:
textColor:
textDown:
textUp:
showTime:
返回触发刷新事件,通过 reloadData 停止下拉状态
var groupList = api.require('groupList');
groupList.setRefreshHeader({
loadingImg: 'widget://res/groupList_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及更高版本
显示已隐藏的 groupList 列表视图
show()
var groupList = api.require('groupList');
groupList.show();
iOS系统,Android系统
可提供的1.0.0及更高版本
隐藏 groupList 列表视图,并没有从内存里清除
hide()
示例代码
var groupList = api.require('groupList');
groupList.hide();
iOS系统,Android系统
可提供的1.0.0及更高版本