listViewEntity

概述

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) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: 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) {
        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 listViewEntity = api.require('listViewEntity');
listViewEntity.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 listViewEntity = api.require('listViewEntity');
listViewEntity.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 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) {
        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:

  • 类型:数组
  • 描述:(可选项)列表的数据源,若不传或传空,仅收起下拉刷新组件
  • 内部字段:
[{
  
    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) {
        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 listViewEntity = api.require('listViewEntity');
listViewEntity.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 对象
  • 描述:列表的数据源
  • 内部字段:
{
    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) {
        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 对象
  • 描述:列表的数据源
  • 内部字段:
{
    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) {
        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:

  • 类型:数组对象
  • 描述:列表的数据源,若不传或传空,仅收起上拉加载组件
  • 内部字段:
[{
    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) {
        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 listViewEntity = api.require('listViewEntity');
listViewEntity.getCount(function(ret) {
    api.alert({
            msg: 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) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: 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) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: JSON.stringify(err)
        })
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

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