UIListCheck

来自于:官方立即使用

概述(Beta版)

UIListCheck 展示了一个联系人列表。开发者只需传入数据源,模块会自动将联系人排序,展示出来。列表右侧字母导航条会自动随联系人数量调整。

列表条目(cell)布局如下图所示:

open

打开列表

open({params}, callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
{
    x: 0,   //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
    y: 0,   //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
    w: 320, //(可选项)数字类型;模块的宽度;默认:所属的 Window 或 Frame 的宽度
    h: 200  //(可选项)数字类型;模块的高度;默认:w * 2.0/3.0
}

contacts:

  • 类型:数组对象
  • 描述:列表数据源
  • 内部字段:
[{               
       employee_id: 191,     //数字类型;联系人 id 号码,可根据此 id 设置选中状态
       name: '艾雪瑞',        //字符串类型;条目的标题,不传则不显示
       phonetic: 'aixuerui', //字符串类型;标题的拼音表示
       remark: '创达集团',    //字符串类型;条目的子标题,不传则不显示
       position: '员工',     //字符串类型;条目的职位,不传则不显示
       selected: false      //(可选项)布尔类型;是否是选中状态;默认:false
}]

fixedOn:

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

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
   eventType: 'show', //字符串类型;交互事件类型,取值范围如下:
                      //show:列表模块打开,并成功显示在屏幕的事件
                      //click:用户点击条目的事件
   selected: true,    //布尔类型;仅当 eventType 为 click 时,本参数表示 click 是否为选中事件;true(选中事件)|false(取消选中事件)
   contact: {}      //JSON对象;被选中的联系人的信息,仅当 eventType 为 click 时有值
}

示例代码

var UIListCheck = api.require('UIListCheck');
UIListCheck.open({
    rect:{
       x: 0,
       y: 44,
       w: api.frameWidth,
       h: api.frameHeight - 104
    },
    contacts:[{
        "employee_id": 191,
        "name": "王科研",
        "phonetic": "WangKeYang",//名字的拼音
        "namephonetic": "WangKeYang88",
        "remark": "备注",
        "position": "研发",
        "dept_id": "002000",
        "isdeleted": "N",
        "tags": "",
        "dept_name": "",
        "isremark": 1,
        "phones": [
            {
            "phone": "13366148872",
            "type": "1"
            }
        ]
    },{
        "employee_id": 192,
        "name": "王科学",
        "phonetic": "WangKeYang",//名字的拼音
        "namephonetic": "WangKeYang88",
        "remark": "备注",
        "position": "研发",
        "dept_id": "002000",
        "isdeleted": "N",
        "tags": "",
        "dept_name": "",
        "isremark": 1,
        "phones": [
            {
            "phone": "13366148872",
            "type": "1"
            }
        ]
    },{
        "employee_id": 193,
        "name": "王科技",
        "phonetic": "WangKeYang88",//名字的拼音
        "namephonetic": "WangKeYang88",
        "remark": "备注",
        "position": "研发",
        "dept_id": "002000",
        "isdeleted": "N",
        "tags": "",
        "dept_name": "",
        "isremark": 1,
        "phones": [
            {
            "phone": "13366148872",
            "type": "1"
            }
        ]
    }],
    fixedOn: api.frameName
}, function(ret) {
    if (ret) {
        alert(JSON.stringify(ret));
    } 
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭列表模块

close()

示例代码

var UIListCheck = api.require('UIListCheck');
UIListCheck.close();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hide

隐藏列表模块,并没有从内存里清除

hide()

示例代码

var UIListCheck = api.require('UIListCheck');
UIListCheck.hide();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示已隐藏的列表模块

show()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

reloadData

刷新列表数据

reloadData({params})

params

contacts:

  • 类型:JSON 对象
  • 描述:列表数据源
  • 内部字段:
[{               
       employee_id: 191,     //数字类型;联系人 id 号码,可根据此 id 设置选中状态
       name: '艾雪瑞',         //字符串类型;条目的标题,不传则不显示
       phonetic: 'aixuerui',  //字符串类型;标题的拼音表示
       remark: '创达集团',     //字符串类型;条目的子标题,不传则不显示
       position: '员工',      //字符串类型;条目的职位,不传则不显示
       selected: false       //(可选项)布尔类型;是否是选中状态;默认:false
}]

示例代码

var UIListCheck = api.require('UIListCheck');
UIListCheck.reloadData({
    contacts:[{
        "employee_id": 191,
        "name": "刘德华",
        "phonetic": "WangKeYang",//名字的拼音
        "namephonetic": "WangKeYang88",
        "remark": "备注",
        "position": "研发",
        "dept_id": "002000",
        "isdeleted": "N",
        "tags": "",
        "dept_name": "",
        "isremark": 1,
        "phones": [
            {
            "phone": "13366148872",
            "type": "1"
            }
        ]
    },{
        "employee_id": 192,
        "name": "张学友",
        "phonetic": "WangKeYang",//名字的拼音
        "namephonetic": "WangKeYang88",
        "remark": "备注",
        "position": "研发",
        "dept_id": "002000",
        "isdeleted": "N",
        "tags": "",
        "dept_name": "",
        "isremark": 1,
        "phones": [
            {
            "phone": "13366148872",
            "type": "1"
            }
        ]
    },{
        "employee_id": 193,
        "name": "郭富城",
        "phonetic": "WangKeYang88",//名字的拼音
        "namephonetic": "WangKeYang88",
        "remark": "备注",
        "position": "研发",
        "dept_id": "002000",
        "isdeleted": "N",
        "tags": "",
        "dept_name": "",
        "isremark": 1,
        "phones": [
            {
            "phone": "13366148872",
            "type": "1"
            }
        ]
    }]
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setSelected

设置选中的联系人

setSelected({params})

params

selected:

  • 类型:布尔
  • 描述:(可选项)设置/取消选中状态
  • 默认:true(设置为选中状态)

contacts:

  • 类型:数组
  • 描述:要设置为选中状态的联系人id组成的数组
  • 参数示例:[191,192,193]

示例代码

var UIListCheck = api.require('UIListCheck');
UIListCheck.setSelected({
    contacts:[191,192,193]
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getSelectedSync

获取所有当前选中的联系人信息,同步接口

getSelectedSync()

return

ret:

  • 类型:JSON 对象
  • 内部字段:
{
   contacts: [{}]     //数组类型;被选中的联系人的信息组成的数组,内部字段通open时传入的一致
}

示例代码

var UIListCheck = api.require('UIListCheck');
var ret = UIListCheck.getSelected();
api.alert({msg:JSON.stringify(ret)});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本