小程序用vant picker组件的坑

31 阅读1分钟
  • 该组件不能直接放页面里,可以放到popup组件里
  • 多列联动的情况下,要定义全局对象,真正的数组存在这个全局对象里,data里的columns的values属性只表示首次打开时被“选中”的项目,将全局对象关联进来的是onchange事件里的citys
const citys = {
  浙江: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
  福建: ['福州', '厦门', '莆田', '三明', '泉州'],
};

Page({
  data: {
    columns: [
      {
        values: Object.keys(citys),
        className: 'column1',
      },
      {
        values: citys['浙江'],
        className: 'column2',
        defaultIndex: 2,
      },
    ],
  },

  onChange(event) {
    const { picker, value, index } = event.detail;
    picker.setColumnValues(1, citys[value[0]]);
  },
});