UIListCheck
来自于:官方立即使用
open close hide show reloadData setSelected getSelectedSync
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
概述
UIListCheck 展示了一个联系人列表。开发者只需传入数据源,模块会自动将联系人排序,展示出来。列表右侧字母导航条会自动随联系人数量调整。
列表条目(cell)布局如下图所示:
open
打开列表
open({params}, callback(ret))
params
rect:
- 类型:JSON 对象
- 描述:(可选项)模块的位置及尺寸
- 内部字段:
{
x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 320, //(可选项)数字类型;模块的宽度,支持设置'auto';默认:所属的 Window 或 Frame 的宽度
h: 200 //(可选项)数字类型;模块的高度,支持设置'auto';默认:w * 2.0/3.0
}
isRadio:
- 类型:布尔
- 描述:(可选项)是否是单选 注意:该参数在contacts里面的selected都为false时有效
- 默认:false
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",
remark: "备注",
position: "研发",
selected: false,
},{
employee_id: 192,
name: "王科学",
phonetic: "WangKeYang",
remark: "备注",
position: "研发",
selected: false,
},{
employee_id: 193,
name: "王科技",
phonetic: "WangKeYang",
remark: "备注",
position: "研发",
selected: false,
}],
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.getSelectedSync();
api.alert({msg:JSON.stringify(ret)});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。