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;
    },


}

results matching ""

    No results matching ""