为帮助用户更好更快的使用插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
UIPickerView 此插件封装了一个可以从屏幕底部向上弹出的 action 选择器(3D滚轮效果)。开发者可自定义选择器的样式,包括:导航条颜色、高度,导航条上左右按钮大小、位置、背景色、title,选择器内容区域的背景、高度、字体大小颜色等样式。同时本插件支持自定义是否显示遮罩层及其样式,可监听用户点击遮罩层、导航条左右按钮等事件, 并在监听的事件里自行设置显示/隐藏(show/hide)插件的操作,灵活,多样。
注意:插件自定义的数据源,可以直接传给插件。也可以制作成一个 json
文件,把 json
文件的路径传给插件。当为 json
文件时,必须时标准的 json
文件,否则在 iOS 端可能无法解析。 另外数据源的最外层上一个数组类型,数组有几个元素表示选择器有几列,且每列互相独立,非多级连动。每列宽度是当前屏幕宽度的平均分。数据源中的每项数据可自定义字段,其中 id 和 text 是必传项。其余可按需求自行添加,如下列表示两列的选择器的数据源:(android不支持)
[[{
"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":"郭富城",
"nickname":"123"
},{
"id": "002",
"text":"张",
"nickname":"123"
},{
"id": "003",
"text":"王",
"nickname":"123"
},{
"id": "004",
"text":"李",
"nickname":"123"
},{
"id": "005",
"text":"李",
"nickname":"123"
}]]
打开选择器插件
open({params}, callback(ret))
styles:
{
navigator: { //(可选项)JSON对象;导航条配置
h: 44, //(可选性)数字类型;导航条高度;默认:44
bg:'#969696', //(可选项)字符串类型;导航条背景色,支持rgb、rgba()、#、img;默认:#969696
titleSize:13, //(可选性)数字类型;标题文本字体大小;默认:13
titleColor:'#121212',//(可选项)字符串类型;标题文本颜色,支持rgb、rgba、#;默认:#121212
title:'', //(可选项)字符串类型;标题文本;默认:空(不显示)
},
leftBtn: { //(可选项)JSON对象;导航条左边按钮配置
w: 50, //(可选项)数字类型;按钮宽度;默认:50
h: 34, //(可选项)数字类型;按钮高度;默认:34
marginL:10, //(可选项)数字类型;按钮左边距;默认:10
bg:'#969696', //(可选项)字符串类型;按钮背景色,支持rgb、rgba()、#、img;默认:#969696
textSize:13, //(可选性)数字类型;按钮文本字体大小;默认:12
textColor:'#121212',//(可选项)字符串类型;按钮文本颜色,支持rgb、rgba、#;默认:#121212
text:'' //(可选项)字符串类型;按钮标题文本;默认:取消
},
rightBtn: { //(可选项)JSON对象;导航条右边按钮配置
w: 50, //(可选项)数字类型;按钮宽度;默认:50
h: 34, //(可选项)数字类型;按钮高度;默认:34
marginR:10, //(可选项)数字类型;按钮右边距;默认:10
bg:'#969696', //(可选项)字符串类型;按钮背景色,支持rgb、rgba()、#、img;默认:#969696
textSize:13, //(可选性)数字类型;按钮标题文本字体大小;默认:12
textColor:'#121212',//(可选项)字符串类型;按钮文本颜色,支持rgb、rgba、#;默认:#121212
text:'' //(可选项)字符串类型;按钮标题文本;默认:确定
},
content: { //(可选项)JSON对象;选择器区域样式配置
h: 34, //(可选项)数字类型;按钮高度;默认:34
bg:'#969696', //(可选项)字符串类型;选择器背景色,支持rgb、rgba()、#、img;默认:#969696
size:13, //(可选性)数字类型;滚轮显示文字大小;默认:12
active:'#121212', //(可选项)字符串类型;滑到选中位置后的文本颜色,支持rgb、rgba、#;默认:#000000
inactive:'#121212', //(可选项)字符串类型;滑到非选中位置后的文本颜色,支持rgb、rgba、#;默认:#8A8A8A
divider: '#0D0D0D' // (可选项)字符串类型;分隔线的颜色,支持rgb、rgba、#;默认:#0D0D0D
}
}
mask:
animation:
checked:
datas:
json
文件的路径,也可以把数据源直接传给插件
[[{
id: '001', //字符串类型;选择器的一列中的一条数据的 ID 号
text:'刘德华' //字符串类型;显示的单条数据
},...],...]
cyclic:
ret:
{
evenType:'', //字符串类型,返回事件;取值范围 ‘show’/显示 ‘cancle’/取消 'submit'/确定选择
selected:[], //JSON数组类型,当前被选择数据。仅evenType为submit时返回
}
var UIPickerView = api.require('UIPickerView');
UIPickerView.open({
datas :{
},
styles:{
}
},function( ret ){
api.alert( {msg:JSON.stringify( ret )});
});
iOS,android 系统
可提供的 1.0.0 及更高版本
更改当前插件的数据源
changeData({params}, callback(ret))
datas:
json
文件的路径,也可以把数据源直接传给插件
[[{
id: '001', //字符串类型;选择器的一列中的一条数据的 ID 号
text:'刘德华' //字符串类型;显示的单条数据
},...],...]
ret:
{
status:true //布尔类型;是否改变成功
}
var UIPickerView = api.require('UIPickerView');
UIPickerView.changeData({
datas:{
}
},function( ret ){
api.alert( {msg:JSON.stringify( ret )});
});
iOS,android 系统
可提供的 1.0.0 及更高版本
隐藏插件
hide({params },callback(ret))
animation:
ret:
{
status: true //布尔类型;是否隐藏成功
}
var UIPickerView = api.require('UIPickerView');
UIPickerView.hide({
animation:true
});
iOS,android 系统
可提供的 1.0.0 及更高版本
显示已隐藏的插件
show({params },callback(ret))
animation:
ret:
{
status: true //布尔类型;是否显示成功
}
var UIPickerView = api.require('UIPickerView');
UIPickerView.show({
animation:true
});
iOS,android 系统
可提供的 1.0.0 及更高版本
关闭插件(从内存里清除)
close({params },callback(ret))
animation:
ret:
{
status: true //布尔类型;是否关闭成功
}
var UIPickerView = api.require('UIPickerView');
UIPickerView.close({
animation:true
});
iOS,android 系统
可提供的 1.0.0 及更高版本
获取当前选中项的数据
getChecked(callback(ret))
ret:
{
checked:[] //数组类型;当前选中项的数据组成的数组,其数据同 open 接口内 datas传入的格式一致,如:[{'id':'001','text':'刘德华'},{'id':'001','text':'张学友'},{'id':'001','text':'郭富城'}]
}
var UIPickerView = api.require('UIPickerView');
UIPickerView.getChecked(function( ret ){
api.alert( {msg:JSON.stringify( ret )});
});
iOS,android 系统
可提供的 1.0.0 及更高版本
设置选中项
setChecked({params}, callback(ret))
checked:
ret:
{
status:, //布尔类型;是否设置成功
}
var UIPickerView = api.require('UIPickerView');
UIPickerView.setChecked({
checked:['001','001','001']
},function( ret ){
api.alert( {msg:JSON.stringify( ret )});
});
iOS,android 系统
可提供的 1.0.0 及更高版本