fpicker
picker组件,最多三列,可简单定制外观
API
注意:setCount必须第一个调用,以初始化picker设置picker有几列/*** @param count 列数*/setCount(count)设置第一列的数据/*** @param list 数据*/setItems1(list)设置第二列的数据/*** @param list 数据*/setItems2(list)设置第三列的数据/*** @param list 数据*/setItems3(list)设置主题色/*** @param bgcolor 背景色* @param btncolor 按钮文字颜色*/setTheme( bgcolor, btncolor)/** 显示picker*/show()用户选中项目时调用此方法设置的回调/*** 回调* @param callback*/setDone(callback)三个滚轮滚动时触发的回调,可在此设置关联关系/**** @param change1* @param change2* @param change3*/setChange( change1, change2, change3)/*** 选中某一列某一行* @param c 列数* @param row 行数**/select( c, row)
Demo
const data=require('./data.js')export default {get(res){var self=this;var picker=weex.requireModule("fpicker");var d=data.getAddressData();var l= d.list//务必调用此方法,此方法有初始化的功能,最多3列picker.setCount(3);picker.setItems1(this.toArray(l))picker.setItems2(this.toArray(l[0].children))picker.setTheme('#f9f9f9','#4c4c4c')var index1=0;var index2=0;var index3=0;//每个滚轮的change事件picker.setChange(function(e){index1=e.index;picker.setItems2(self.toArray(l[index1].children))picker.select(2,0);if(l[index1].children.length>0){picker.setItems3(self.toArray(l[index1].children[0].children))picker.select(3,0);}else{picker.setItems3([])}},function(e){index2=e.index;if(l[index1].children[index2].children.length>0){picker.setItems3(self.toArray(l[index1].children[index2].children))picker.select(3,0);}else{picker.setItems3([])}},function(e){index3=e.index;})//点击完成的事件picker.setDone(function(e){var p1= l[e.index1];var p2= l[e.index1].children[e.index2];var p3= l[e.index1].children[e.index2].children[e.index3];res(p1,p2,p3)});// picker.show()return picker;},toArray(list){var p=[];for(let i=0;i<list.length;i++){p.push(list[i].name);}return p;},}
