本文出自APICloud官方论坛
UIPickerView 此模块封装了一个可以从屏幕底部向上弹出的 action 选择器(3D滚轮效果)。开发者可自定义选择器的样式,包括:导航条颜色、高度,导航条上左右按钮大小、位置、背景色、title,选择器内容区域的背景、高度、字体大小颜色等样式。同时本模块支持自定义是否显示遮罩层及其样式,可监听用户点击遮罩层、导航条左右按钮等事件, 并在监听的事件里自行设置显示/隐藏(show/hide)模块的操作,灵活,多样。
亮点:滚动流畅,自定义数据源,丰富的配置参数。
效果图:
open示例代码:
var UIPickerView = api.require('UIPickerView');
UIPickerView.open({
styles: {
navigator: { //(可选项)JSON对象;导航条配置
h: 44, //(可选性)数字类型;导航条高度;默认:44
bg: '#FFF', //(可选项)字符串类型;导航条背景色,支持rgb、rgba()、#、img;默认:#969696
titleSize: 20, //(可选性)数字类型;标题文本字体大小;默认:13
titleColor: '#EEB422', //(可选项)字符串类型;标题文本颜色,支持rgb、rgba、#;默认:#121212
title: '标题文字', //(可选项)字符串类型;标题文本;默认:空(不显示)
},
leftBtn: { //(可选项)JSON对象;导航条左边按钮配置
w: 44, //(可选项)数字类型;按钮宽度;默认:50
h: 44, //(可选项)数字类型;按钮高度;默认:34
marginL: 10, //(可选项)数字类型;按钮左边距;默认:10
bg: '#FFF', //(可选项)字符串类型;按钮背景色,支持rgb、rgba()、#、img;默认:#969696
textSize: 18, //(可选性)数字类型;按钮文本字体大小;默认:12
textColor: '#EEB422', //(可选项)字符串类型;按钮文本颜色,支持rgb、rgba、#;默认:#121212
text: '取消' //(可选项)字符串类型;按钮标题文本;默认:取消
},
rightBtn: { //(可选项)JSON对象;导航条右边按钮配置
w: 44, //(可选项)数字类型;按钮宽度;默认:50
h: 44, //(可选项)数字类型;按钮高度;默认:34
marginR: 10, //(可选项)数字类型;按钮右边距;默认:10
bg: '#FFF', //(可选项)字符串类型;按钮背景色,支持rgb、rgba()、#、img;默认:#969696
textSize: 18, //(可选性)数字类型;按钮标题文本字体大小;默认:12
textColor: '#EEB422', //(可选项)字符串类型;按钮文本颜色,支持rgb、rgba、#;默认:#121212
text: '确定' //(可选项)字符串类型;按钮标题文本;默认:确定
},
content: { //(可选项)JSON对象;选择器区域样式配置
h: 44, //(可选项)数字类型;按钮高度;默认:134
bg: '#FFF', //(可选项)字符串类型;选择器背景色,支持rgb、rgba()、#、img;默认:#969696
size: 18, //(可选性)数字类型;滚轮显示文字大小;默认:12
active: '#000', //(可选项)字符串类型;滑到选中位置后的文本颜色,支持rgb、rgba、#;默认:#000000
inactive: '#C5C1AA', //(可选项)字符串类型;滑到非选中位置后的文本颜色,支持rgb、rgba、#;默认:#8A8A8A
divider: '#EEEED1' // (可选项)字符串类型;分隔线的颜色,支持rgb、rgba、#;默认:#0D0D0D
}
},
mask: 'rgba(0,0,0,0.1)', //'rgba(0,0,0,0.2)', //仅支持ios
animation: true,
checked: ['004', '003', '001'],
datas: [
[{
'id': '001',
'text': '刘德华',
'nickname': '123'
}, {
'id': '002',
'text': '张三',
'nickname': '123'
}, {
'id': '003',
'text': '李四',
'nickname': '123'
}, {
'id': '004',
'text': '王五',
'nickname': '123'
}, {
'id': '005',
'text': '赵六',
'nickname': '123'
}],
[{
'id': '001',
'text': '刘-90',
'nickname': '123'
}, {
'id': '002',
'text': '张-30',
'nickname': '123'
}, {
'id': '003',
'text': '王李-60',
'nickname': '123'
}, {
'id': '004',
'text': '王-00',
'nickname': '123'
}, {
'id': '005',
'text': '赵-80',
'nickname': '123'
}],
[{
'id': '001',
'text': '刘德华',
'nickname': '123'
}, {
'id': '002',
'text': '张三',
'nickname': '123'
}, {
'id': '003',
'text': '李四',
'nickname': '123'
}, {
'id': '004',
'text': '王五',
'nickname': '123'
}, {
'id': '005',
'text': '赵六',
'nickname': '123'
}]
],
cyclic: true
}, function(ret) {
api.alert({
msg: "打开选择器模块:" + JSON.stringify(ret)
});
});
复制代码