UIListBadge

概述

UIListBadge 插件封装了一个数据列表控件,列表项水平侧滑可出现控制按钮;开发者可自定义列表的数据源,及列表的样式,支持列表项的增、删、改、查,支持批量更新、追加数据,支持下拉刷新和上拉加载事件。本插件最大的特点是每条数据后面支持自定义一个徽章(badge)。 本插件是基于 YonBuilder移动开发 开源插件 UIListView 修改的。

open

打开 UIListBadge 插件

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

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)插件的位置及尺寸
  • 注意:在 Android 平台上此参数必须传
  • 内部字段:
{
    x: 0,   //(可选项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
    y: 0,   //(可选项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
    w: 320, //(可选项)数字类型;插件的宽度,支持设置'auto';默认值:所属的 Window 或 Frame 的宽度
    h: 480  //(可选项)数字类型;插件的高度,支持设置'auto';默认值:所属的 Window 或 Frame 的高度
}

data:

  • 类型:数组
  • 描述:列表的数据源,开发者可以自定义唯一的键值对信息(如:uid: '1001'),供 getIndex 使用
  • 内部字段:
[{
    imgPath: '',              //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,默认显示apicloud图片
    imgTitle:'张涛',           //(可选项)字符串类型;列表项配图位置可传入的文字;若imgTitle和imgPath都传则显示文字
    imgBackgroundColor:'#fff',//(可选项)字符串类型;列表项配图位置传入文字的背景颜色,支持 rgb、rgba、#;默认:'#fff'

    title: '',                //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
    subTitle: '',             //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
    time: '',                 //(可选项)字符串类型;时间标签,若不传则不显示
    badge: ,                  //(可选项)数字类型;右下角徽章显示的内容,若不传则不显示,若传空,则显示空
    forbidden: false,         //(可选项)布尔类型;是否屏蔽本条数据的点击事件,屏蔽后的样式可通过 styles->forbidden参数配置
    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
  • 默认:false

styles:

  • 类型:JSON 对象
  • 描述:(可选项)插件各部分的样式
  • 内部字段:
{
    header:{
    bg:'#fff' ,                         //(可选项)字符串类型;头部视图的颜色,支持 rgb、rgba、#、img;默认:'#696969'
    height:20,                          //(可选项)数字类型;头部视图的高度;默认:44
    },
    footer:{
    bg:'#fff' ,                         //(可选项)字符串类型;底部视图的颜色,支持 rgb、rgba、#;默认:'#696969'
    height:20,                          //(可选项)数字类型;底部视图的高度;默认:'#696969'
    },    
    badge:{
    color:'#f00',                        //(可选项)字符串类型;徽章的背景颜色,支持 rgb、rgba、#;默认:'#696969'
    size: 6.0,                          //(可选项)数字类型;徽章半径大小;默认值:6.0    
    titleSize:8 ,                       //(可选项)数字类型;徽章文字大小;默认:12
    titleColor:'#fff',                  //(可选项)数字类型;徽章文字颜色;默认:'#fff'
    },
    borderColor: '#696969',             //(可选项)字符串类型;列表分割线的颜色,支持 rgb、rgba、#;默认:'#696969'
    item: {                             //(可选项)JSON对象;列表项的样式
        bgColor: '#AFEEEE',             //(可选项)字符串类型;列表项的背景色,支持 rgb、rgba、#;默认:'#AFEEEE'
        activeBgColor: '#F5F5F5',       //(可选项)字符串类型;列表项按下时的背景色,支持 rgb、rgba、#;默认:'#F5F5F5'
        height: 55,                     //(可选项)数字类型;列表项的高度;默认:55
        imgMarginLeft:10,               //(可选项)数字类型;列表项的图片的左边距;默认:10
        imgMarginRight:10,              //(可选项)数字类型;列表项的图片的右边距;默认:10
        imgTitleSize:14,                // (可选项) 数字类型;列表项的图片位置传入的文字大小,默认14
        imgTitleColor:'#f00',            //(可选项)字符串类型;列表项的的图片位置传入文字的颜色,支持 rgb、rgba、#;默认:'#f00'
        imgWidth: 20,                   //(可选项)数字类型;列表项配图的宽度;默认:列表项的高度减去10px
        imgHeight: 20,                  //(可选项)数字类型;列表项配图的高度;默认:列表项的高度减去10px
        imgCorner: 4,                   //(可选项)数字类型;列表项配图的圆角大小;默认:0
        placeholderImg: '',             //(可选项)字符串类型;列表项配图的占位图路径(本地路径,fs://、widget://),默认:YonBuilder移动开发 图标
        titleMarginTop:5                //(可选项)数字类型;列表项的图片的上边距;默认:5(跟time的下边距相同)
        subTitleMarginBottom:5          //(可选项)数字类型;列表项的图片的下边距;默认:5(跟badge的下边距相同)
        titleSize: 12,                  //(可选项)数字类型;列表项标题文字大小;默认:12
        titleColor: '#000',             //(可选项)字符串类型;列表项标题文字颜色,支持 rgb,rgba,#;默认:'#000000'
        subTitleSize: 12,               //(可选项)数字类型;列表项子标题文字大小;默认:12
        subTitleColor: '#000',          //(可选项)字符串类型:列表项子标题文字颜色,支持 rgb、rgba、#;默认:'#000000' 
       subTitleWidth: 100               //(可选项)数字类型;列表项子标题文字的宽度;默认:100
        timeColor: '#000',              //(可选项)字符串类型;时间标签的文字颜色,支持 rgb、rgba、#;默认:'#000000'
        timeSize: 16,                   //(可选项)数字类型;时间标签的文字大小;默认:16
        marginRight: 10                 //(可选项)数字类型;时间标签和徽章(badge)距离插件右边距;默认:10
    }
}

fixedOn:

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

showScrollBar:

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

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'show',  //字符串类型;交互事件类型
                        //取值范围如下:
                         //show(插件加载成功)
                        //clickRightBtn(点击侧滑出现的右侧按钮)
                        //clickContent(点击列表项的内容,除了配图和备注以外的区域)
                        //clickImg(点击列表项的配图)
                        //clickRemark(点击列表项右侧备注)
                        //clickHead(点击头部视图)
    index: 0,           //数字类型;列表项的索引
    btnIndex: 0         //数字类型;列表项侧滑出现的按钮的索引
}

示例代码

var UIListBadge = api.require('UIListBadge');
UIListBadge.open({
    rect: {
        x: 0,
        y: 0,
        w: api.winWidth,
        h: api.frameHeight
    },
    data: [{
        uid: '1001',
        imgPath: 'widget://res/img/apicloud.png',
        title: '标题',
        subTitle: '子标题,说明文字',
        time: '今天   13:45',
        badge: 1
    }, {
        uid: '1001',
        imgPath: 'widget://res/img/apicloud.png',
        title: '标题',
        subTitle: '子标题,说明文字',
        time: '今天   13:45',
        badge: 1
    }, {
        uid: '1001',
        imgPath: 'widget://res/img/apicloud.png',
        title: '标题',
        subTitle: '子标题,说明文字',
        time: '今天   13:45',
        badge: 1
    }, {
        uid: '1001',
        imgPath: 'widget://res/img/apicloud.png',
        title: '标题',
        subTitle: '子标题,说明文字',
        time: '今天   13:45',
        badge: 1
    }, {
        uid: '1001',
        imgPath: 'widget://res/img/apicloud.png',
        title: '标题',
        subTitle: '子标题,说明文字',
        time: '今天   13:45',
        badge: 1
    }, {
        uid: '1001',
        imgPath: 'widget://res/img/apicloud.png',
        title: '标题',
        subTitle: '子标题,说明文字',
        time: '今天   13:45',
        badge: 1
    }, {
        uid: '1001',
        imgPath: 'widget://res/img/apicloud.png',
        title: '标题',
        subTitle: '子标题,说明文字',
        time: '今天   13:45',
        badge: 1
    }, {
        uid: '1001',
        imgPath: 'widget://res/img/apicloud.png',
        title: '标题',
        subTitle: '子标题,说明文字',
        time: '今天   13:45',
        badge: 1
    }, {
        uid: '1001',
        imgPath: 'widget://res/img/apicloud.png',
        title: '标题',
        subTitle: '子标题,说明文字',
        time: '今天   13:45',
        badge: 1
    }, {
        uid: '1001',
        imgPath: 'widget://res/img/apicloud.png',
        title: '标题',
        subTitle: '子标题,说明文字',
        time: '今天   13:45',
        badge: 1
    }, {
        imgPath: 'widget://res/img/apicloud.png',
        title: '标题',
        subTitle: '子标题,说明文字',
        time: '今天   13:45',
        badge: 1
    }],
    rightBtns: [{
        bgColor: '#388e8e',
        activeBgColor: '',
        width: 70,
        title: '按钮',
        titleSize: 12,
        titleColor: '#fff',
        time: '今天   13:45',
        badge: '1'
    }],
styles: {
                 header:{
                 bg:'#fff' ,                        
                 height:20,                          
                 },
                 footer:{
                 bg:'#fff' ,                        
                 height:20,                         
                 },
                 badge:{
                 color:'#f00',                        
                 size: 6.0,                         
                 titleSize:8 ,                       
                 titleColor:'#fff',                 
                 },
                 borderColor: '#696969',            
                 item: {                             
                 bgColor: '#AFEEEE',             
                 activeBgColor: '#F5F5F5',       
                 height: 55,                     
                 imgMarginLeft:10,               
                 imgMarginRight:10,               
                 imgWidth: 20,                   
                 imgHeight: 20,                  
                 imgCorner: 4,                   
                 placeholderImg: '',             
                 titleMarginTop:5,                
                 subTitleMarginBottom:5,          
                 titleSize: 12,                  
                 titleColor: '#000',             
                 subTitleSize: 12,              
                 subTitleColor: '#000',          
                 subTitleWidth: 100,               
                 timeColor: '#000',              
                 timeSize: 16,                   
                 marginRight: 10,                 
                 }
                 },
    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 UIListBadge = api.require('UIListBadge');
UIListBadge.close();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示 UIListBadge 插件

show()

示例代码

var UIListBadge = api.require('UIListBadge');
UIListBadge.show();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hide

隐藏 UIListBadge 插件

hide()

示例代码

var UIListBadge = api.require('UIListBadge');
UIListBadge.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 UIListBadge = api.require('UIListBadge');
UIListBadge.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 参数中自定义的唯一标识)查找列表项对应的数据

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

params

key:

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

value:

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

callback(ret)

ret:

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

示例代码

var UIListBadge = api.require('UIListBadge');
UIListBadge.getIndex({
    key: 'uid',
    value: '1001'
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getDataByIndex

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

getDataByIndex({params}, callback(ret))

params

index:

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

callback(ret)

ret:

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

示例代码

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

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 UIListBadge = api.require('UIListBadge');
UIListBadge.setSwipeBtns({
    index: 0,
    btns: [{
        bgColor: '#388e8e',
        activeBgColor: '',
        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))

params

data:

  • 类型:数组
  • 描述:(可选项)列表的数据源,若不传或传空,仅收起下拉刷新组件
  • 内部字段:
[{
    imgPath: '',              //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则标题和子标题靠最左侧显示
    imgTitle:'张涛',           //(可选项)字符串类型;列表项配图位置可传入的文字;若imgTitle和imgPath都传则显示文字
    imgBackgroundColor:'#fff',//(可选项)字符串类型;列表项配图位置传入文字的背景颜色,支持 rgb、rgba、#;默认:'#fff'
    title: '',                //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
    subTitle: '',             //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
    time: '',                 //(可选项)字符串类型;时间标签,若不传则不显示
    badge: '',                //(可选项)字符串类型;右下角徽章显示的内容,若不传则不显示,若传空字符串,则显示空字符串
    rightBtns: []             //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同 rightBtns 参数
}]

callback(ret)

ret:

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

示例代码

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

params

index:

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

callback(ret)

ret:

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

示例代码

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

params

index:

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

data:

  • 类型:JSON 对象
  • 描述:列表的数据源
  • 内部字段:
{
    imgPath: '',             //(可选项)字符串类型;列表项的配图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则标题和子标题靠最左侧显示
    imgTitle:'张涛',           //(可选项)字符串类型;列表项配图位置可传入的文字;若imgTitle和imgPath都传则显示文字
    imgBackgroundColor:'#fff',//(可选项)字符串类型;列表项配图位置传入文字的背景颜色,支持 rgb、rgba、#;默认:'#fff'
    title: '',               //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
    subTitle: '',            //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
    time: '',                //(可选项)字符串类型;时间标签,若不传则不显示
    badge: '',               //(可选项)字符串类型;右下角徽章显示的内容,若不传则不显示,若传空字符串,则显示空字符串
    rightBtns: []            //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,若不传则显示通用按钮,内部字段同 rightBtns 参数
}

callback(ret)

ret:

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

示例代码

var UIListBadge = api.require('UIListBadge');
UIListBadge.updateItem({
    index: 2,
    data: {
        imgbackgroudColor:'#f00', 
        imgPath: 'http://img1.3lian.com/gif/more/11/201206/a5194ba8c27b17def4a7c5495aba5e32.jpg',
        title: '刷新标题',
        subTitle: '刷新子标题',
        badge: '2'
    }
}, function(ret, err) {
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

insertItem

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

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

params

index:

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

data:

  • 类型:JSON 对象
  • 描述:列表的数据源
  • 内部字段:
{
    imgPath: '',              //(可选项)字符串类型;列表项的附图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则标题和子标题靠最左侧显示
    imgTitle:'张涛',           //(可选项)字符串类型;列表项配图位置可传入的文字;若imgTitle和imgPath都传则显示文字
    imgBackgroundColor:'#fff',//(可选项)字符串类型;列表项配图位置传入文字的背景颜色,支持 rgb、rgba、#;默认:'#fff'
    title: '',                //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
    subTitle: '',             //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
    time: '',                 //(可选项)字符串类型;时间标签,若不传则不显示
    badge: '',                //(可选项)字符串类型;右下角徽章显示的内容,若不传则不显示,若传空字符串,则显示空字符串
    rightBtns: []             //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,内部字段同 open 接口的 rightBtns 参数
}

callback(ret)

ret:

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

示例代码

var UIListBadge = api.require('UIListBadge');
UIListBadge.insertItem({
    index: 2,
    data: {
        imgbackgroudColor:'#f00', 
        imgPath: 'http://d.hiphotos.baidu.com/image/pic/item/4d086e061d950a7b29a788c209d162d9f2d3c922.jpg',
        title: '12:00',
        subTitle: 'YonBuilder移动开发粉丝互动会',
        badge: '10'
    }
}, 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))

params

data:

  • 类型:数组对象
  • 描述:列表的数据源,若不传或传空,仅收起上拉加载组件
  • 内部字段:
[{
    imgPath: '',              //(可选项)字符串类型;列表项的附图路径,支持http://、https://、widget://、fs://等协议,网络图片会被缓存到本地,若不传则标题和子标题靠最左侧显示
    imgTitle:'张涛',           //(可选项)字符串类型;列表项配图位置可传入的文字;若imgTitle和imgPath都传则显示文字
    imgBackgroundColor:'#fff',//(可选项)字符串类型;列表项配图位置传入文字的背景颜色,支持 rgb、rgba、#;默认:'#fff'
    title: '',                //(可选项)字符串类型;标题,若不传或为空则 subTitle 上下位置居中显示
    subTitle: '',             //(可选项)字符串类型;子标题,若不传或为空则 title 上下位置居中显示
    time: '',                 //(可选项)字符串类型;时间标签,若不传则不显示
    badge: '',                //(可选项)字符串类型;右下角徽章显示的内容,若不传则不显示,若传空字符串,则显示空字符串
    rightBtns: []             //(可选项)数组类型;列表项向左滑动露出的按钮组,配置某一项的特定按钮组,内部字段同 open 接口的 rightBtns 参数
}]

callback(ret)

ret:

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

示例代码

var UIListBadge = api.require('UIListBadge');
UIListBadge.appendData({
    data: [{
        imgPath: 'http://d.hiphotos.baidu.com/image/pic/item/4d086e061d950a7b29a788c209d162d9f2d3c922.jpg',
        title: '新增标题',
        subTitle: '新增子标题',
        badge: '3'
    }]
}, 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))

callback(ret)

ret:

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

示例代码

var UIListBadge = api.require('UIListBadge');
UIListBadge.getCount(function(ret) {
    api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setRefreshHeader

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

setRefreshHeader({params}, callback(ret))

params

style:

  • 类型:JSON对象
  • 描述:下拉刷新的样式配置
  • 内部字段:
{
    bgColor: '#C0C0C0',                         //(可选项)字符串类型;下拉刷新的背景设置,支持 rgb、rgba、#,该背景大小同当前插件的宽高;默认:#C0C0C0
    refreshHeaderHeight : 60 ,                  //(可选项)数字类型;下拉高度达到一定阈值,本参数暂仅支持 ios 平台;默认:60
    loadAnimInterval : 200 ,                    //(可选项)数字类型;图片播放时间间隔,单位为毫秒;默认:200
    image: {                                    //(可选项)JSON 对象类型;下拉刷新相关图片设置;若不传则使用默认图标
      pull:['fs://t1.png','fs://t2.png',...],  //(可选项)数组类型;组成下拉过程的动画关键帧图片数组,这组图片随下拉高度同步放大缩小,同时自动播放关键帧图片:每下拉一定距离(阈值/图片数量),播放一帧关键帧图片;图片规格为正方形,如:50*50、100*100;若不传则使用默认图标
      load: ['fs://t1.png','fs://t2.png',...]  //(可选项)数组类型;组成下拉刷新加载状态动画的关键帧图片数组,图片为正方形的,如:50*50、100*100,建议开发者传大小合适的图片以适配高分辨率手机屏幕;若不传则使用默认图标
    },
    isScale: true                              //(可选项)布尔类型;播放下拉过程中的关键帧动画时,是否同时添加等比同步缩放效果;默认值:true
}

callback()

下拉刷新的事件回调

示例代码

var UIListBadge = api.require('UIListBadge');
UIListBadge.setRefreshHeader({
   style: {
        bgColor: '#C0C0C0',
        isScale: true,
        image: {
            pull: [
                'widget://image/refresh/dropdown0.png',
                'widget://image/refresh/dropdown1.png',
                'widget://image/refresh/dropdown2.png',
                'widget://image/refresh/dropdown3.png',
                'widget://image/refresh/dropdown4.png',
                'widget://image/refresh/dropdown5.png',
                'widget://image/refresh/dropdown6.png'
            ],
            load: [
                'widget://image/refresh/loading0.png',
                'widget://image/refresh/loading1.png',
                'widget://image/refresh/loading2.png',
                'widget://image/refresh/loading3.png',
                'widget://image/refresh/loading4.png'
            ]
        }
    }
}, function(ret) {
   //下拉刷新被触发,自动进入加载状态,使用 reloadData() 手动结束加载中状态
    alert('开始加载刷新数据,摇一摇停止加载状态');
    api.addEventListener({
        name: 'shake'
    }, function(ret, err) {
        UIListBadge.reloadData();
    });
});

可用性

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 UIListBadge = api.require('UIListBadge');
UIListBadge.setRefreshFooter({
    loadingImg: 'widget://res/UIListBadge_arrow.png',
    bgColor: '#F5F5F5',
    textColor: '#8E8E8E',
    textUp: '上拉加载更多...',
    textDown: '松开开始加载...',
    showTime: true
}, function(ret) {
   //上拉加载事件被触发,自动进入加载状态,使用 appendData() 手动结束加载中状态
    alert('开始加载刷新数据,摇一摇停止加载状态');
    api.addEventListener({
        name: 'shake'
    }, function(ret, err) {
        UIListBadge.appendData();
    });
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/11/18