<template> <demo-section> <demo-block :title="$t('basicUsage')"> <van-picker :columns="$t('column1')" @change="onChange1" /> </demo-block> <demo-block :title="$t('defaultIndex')"> <van-picker :columns="$t('column1')" :default-index="2" @change="onChange1" /> </demo-block> <demo-block :title="$t('title3')"> <van-picker show-toolbar :title="$t('area')" :columns="$t('column1')" @cancel="onCancel" @confirm="onConfirm" /> </demo-block> <demo-block :title="$t('title2')"> <van-picker :columns="$t('column2')" /> </demo-block> <demo-block :title="$t('title4')"> <van-picker :columns="columns" @change="onChange2" /> </demo-block> <demo-block :title="$t('loadingStatus')"> <van-picker loading :columns="columns" /> </demo-block> </demo-section> </template> <script> export default { i18n: { 'zh-CN': { area: '标题', title2: '禁用选项', title3: '展示顶部栏', title4: '多列联动', defaultIndex: '默认选中项', column1: ['杭州', '宁波', '温州', '嘉兴', '湖州'], column2: [ { text: '杭州', disabled: true }, { text: '宁波' }, { text: '温州' } ], column3: { 浙江: ['杭州', '宁波', '温州', '嘉兴', '湖州'], 福建: ['福州', '厦门', '莆田', '三明', '泉州'] }, toastContent: (value, index) => `当前值:${value}, 当前索引:${index}` }, 'en-US': { area: 'Title', title2: 'Disable Option', title3: 'Show Toolbar', title4: 'Multi Columns', defaultIndex: 'Default Index', column1: ['Delaware', 'Florida', 'Georqia', 'Indiana', 'Maine'], column2: [ { text: 'Delaware', disabled: true }, { text: 'Florida' }, { text: 'Georqia' } ], column3: { Group1: ['Delaware', 'Florida', 'Georqia', 'Indiana', 'Maine'], Group2: ['Alabama', 'Kansas', 'Louisiana', 'Texas'] }, toastContent: (value, index) => `Value: ${value}, Index:${index}` } }, computed: { columns() { const column = this.$t('column3'); return [ { values: Object.keys(column), className: 'column1' }, { values: column[Object.keys(column)[0]], className: 'column2', defaultIndex: 2 } ]; } }, methods: { onChange1(picker, value, index) { this.$toast(this.$t('toastContent', value, index)); }, onChange2(picker, values) { picker.setColumnValues(1, this.$t('column3')[values[0]]); }, onConfirm(value, index) { this.$toast(this.$t('toastContent', value, index)); }, onCancel() { this.$toast(this.$t('cancel')); } } }; </script>