属性 | 描述 | 类型 | 默认值 |
---|---|---|---|
visible | 是否打开cascadePicker,可通过v-model绑定 | boolean | - |
cancelText | 取消按钮文案 | string | 取消 |
confirmText | 确认按钮文案 | string | 确认 |
title | 标题 | string | - |
data | 配置每一列显示的数据 | array | [] |
selectedIndex | 选中项下标的集合 | array | [] |
alias | 配置data的选项的value,和label的key值 | object | {label: 'label', value: 'value'} |
名称 | 描述 | 参数 |
---|---|---|
cancel | 点击取消时触发 | - |
change | 滚轴滚动后触发此事件 | columnIndex: 滚动列的下标, itemIndex: 选项的下标 |
select | 点击确认按钮触发此事件 | pickerSelectedValue: 所选择选项的value值的集合, pickerSelectedIndex: 所选择选项的下标的集合,pickerSelectedLabel: 所选择选项的label值的集合 |
<template>
<div>
<div class="items">
<p class="item_title">联级picker</p>
<vill-button title="联级picker" @click="cascadeVisibles=true"></vill-button>
</div>
<vill-cascade-picker
v-model="cascadeVisibles"
:data="cascadeData"
:selectedIndex="value"
@change="handleCascadePickerChange"
@select="handleCascadePickerSelect"
/>
</div>
</template>
<script>
export default {
data () {
return {
cascadeVisibles: false,
cascadeData: [],
value: []
}
},
created() {
this.initData()
},
methods: {
initData() {
setTimeout(() => {
this.cascadeData = [{
value: 1,
label: '水果',
children: [{
value: 11,
label: '苹果',
children: [{
value: 111,
label: '红苹果'
}, {
value: 112,
label: '金苹果'
}, {
value: 113,
label: '绿苹果'
}]
}, {
value: 12,
label: '桃子'
}]
}, {
value: 2,
label: '饮料',
children: [{
value: 21,
label: '咖啡'
}, {
value: 22,
label: '茶',
children: [{
value: 221,
label: '红茶'
}, {
value: 222,
label: '茉莉花茶'
}, {
value: 223,
label: '绿茶'
}]
}]
}]
this.value = [0, 0, 2]
}, 2000)
},
handleCascadePickerChange(column, targetSelectedIndex) {
console.log(column, targetSelectedIndex)
},
handleCascadePickerSelect(pickerSelectedValue, pickerSelectedIndex, pickerSelectedLabel) {
console.log(pickerSelectedValue, pickerSelectedIndex, pickerSelectedLabel)
},
}
}
</script>