| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <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>
|