代码演示

    基础用法

    1. export default {
    2. data() {
    3. return {
    4. columns: ['杭州', '宁波', '温州', '嘉兴', '湖州']
    5. };
    6. },
    7. methods: {
    8. onChange(picker, value, index) {
    9. Toast(`当前值:${value}, 当前索引:${index}`);
    10. }
    11. };

    禁用选项

    选项可以为对象结构,通过设置 disabled 来禁用该选项

    1. export default {
    2. data() {
    3. return {
    4. columns: [
    5. { text: '杭州', disabled: true },
    6. { text: '宁波' },
    7. { text: '温州' }
    8. ]
    9. };
    10. }
    11. };

    展示顶部栏

    1. <van-picker
    2. show-toolbar
    3. title="标题"
    4. @cancel="onCancel"
    5. @confirm="onConfirm"
    6. />

    多列联动

    1. <van-picker :columns="columns" @change="onChange" />
    1. const citys = {
    2. '浙江': ['杭州', '宁波', '温州', '嘉兴', '湖州'],
    3. '福建': ['福州', '厦门', '莆田', '三明', '泉州']
    4. export default {
    5. data() {
    6. return {
    7. columns: [
    8. {
    9. values: Object.keys(citys),
    10. className: 'column1'
    11. },
    12. {
    13. values: citys['浙江'],
    14. className: 'column2',
    15. defaultIndex: 2
    16. }
    17. ]
    18. };
    19. },
    20. methods: {
    21. picker.setColumnValues(1, citys[values[0]]);
    22. }
    23. }
    24. };

    加载状态

    Event

    Picker 组件的事件会根据 columns 是单列或多列返回不同的参数

    Columns 数据结构

    通过 ref 可以获取到 picker 实例并调用实例方法