<script>
let years = []
for (var i = 2000; i <= 2030; i++) {
  years.push({
    name: i + '年',
    value: i + ''
  })
}
    export default{
        data(){
            return {
                defaultColor:'default',
                reverse:false,
                height:'300',
                show:false,
                value:['2002', '12'],
                data:[years, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,13,14,15]],
                defaultColor2:'default',
                reverse2:false,
                height2:'300',
                show2:false,
                value2:[],
                data2:[{name:'小学一年级',value:'1'},{name:'小学二年级',value:'2'},{name:'小学三年级',value:'3'},{name:'小学四年级',value:'4'},{name:'小学五年级',value:'5'}]
            }
        },
        methods:{
            click(){
                this.show = !this.show
            },
             click2(){
                this.show2 = !this.show2
            },
            onChange(value){
                // console.log("value::::",value)
            },
            onHide(){
                this.show = false
            },
            onShow(){

            },
            onChange2(value,object){
                // console.log("on change value::::",value)
                // console.log("on change object::::",object)
            },
            onHide2(){

            },
            onShow2(){

            }
        }
    }
</script>
# popupPicker


> import PopupPicker from 'zhidian-ui/lib/popupPicker.js'

:::demo
```html
<i-button :color="defaultColor" @click.native="click">popupPicker</i-button>
<popup-picker :reverse="reverse" :height="height" :show="show" v-model="value" :data="data" @on-change="onChange" @on-hide="onHide" @on-show="onShow"></popup-picker>
```
```javaScript
<script>
let years = []
for (var i = 2000; i <= 2030; i++) {
  years.push({
    name: i + '年',
    value: i + ''
  })
}
    export default{
        data(){
            return {
                defaultColor:'default',
                reverse:false,
                height:'300',
                show:false,
                value:['2002', '4'],
                data:[years, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]],
            }
        },
        methods:{
            click(){
                this.show = !this.show
            },
            onChange(){
                // console.log("arguments[0]::::",arguments[0])
            },
            onHide(){

            },
            onShow(){

            }
        }
    }
</script>
```
:::


:::demo
```html
<i-button :color="defaultColor2" @click.native="click2">popupPicker data by json</i-button>
<popup-picker :columns='1' :reverse="reverse2" :height="height2" :show="show2" v-model="value2" :data="data2" @on-change="onChange2" @on-hide="onHide2" @on-show="onShow2"></popup-picker>
```
```javaScript
<script>
    export default{
        data(){
            return {
                defaultColor2:'default',
                reverse2:false,
                height2:'300',
                show2:false,
                value2:[],
                data2:[{name:'小学一年级',value:'1'},{name:'小学二年级',value:'2'},{name:'小学三年级',value:'3'},{name:'小学四年级',value:'4'},{name:'小学五年级',value:'5'}]
            }
        },
        methods:{
            click2(){
                this.show2 = !this.show2
            },
            onChange2(value,object){
                // console.log("on change object value::::",object)
            },
            onHide2(){

            },
            onShow2(){

            }
        }
    }
</script>
```
:::



### popupPicker Attributes
| 参数      | 说明          | 类型      | 可选值       | 默认值  |
|---------- |------------- |---------------|------------  |-------- |
| isReverse | popup弹出方向 | `Boolean` | — | false |
| height | popup弹出框高度 | `Number` | — | — |
| show | 是否显示popupPicker | `Boolean` | — | — |
| value | 表单值，使用 v-model 绑定 | `Array` | — | — |
| mask | 是否显示背景浮层 | `Boolean` | — | true |
| data | 选项列表数据，如果数据是数组对象的话，需要指定`columns`属性 | `Array` | — | — |
| columns | 指定联动模式下的列数，当不指定时表示非联动。 | `Number` | — | — |
| fixed-columns | 指定显示多少列，隐藏多余的 | `Number` | — | — |
| column-width | 定义每一列宽度，只需要定义除最后一列宽度，最后一列自动宽度， 比如对于3列选择，可以这样：[1/2, 1/5] | `Array` | — | — |

### popupPicker Event
| 名称      |  参数       | 描述 |
|---------- |------------- |---------------|
| on-change | (Params) | 选择值变化时触发 |
| on-show | (Params) | — |
| on-hide | (Params) | — |

### popupPicker Methods
| 名称      |  参数       | 描述 |
|---------- |------------- |---------------|
| getNameValues |  | 根据 value 获取字面值 |

