feat(Picker): custom columns children key (#7791)

This commit is contained in:
晓晓晓晓晓丶vv
2020-12-29 19:53:12 +08:00
committed by GitHub
parent 680c93d103
commit 5d75aabaae
6 changed files with 315 additions and 15 deletions
+59
View File
@@ -79,3 +79,62 @@ export const cascadeColumns = {
},
],
};
export const cascadeColumnsCustomKey = {
'zh-CN': [
{
cityName: '浙江',
cities: [
{
cityName: '杭州',
cities: [{ cityName: '西湖区' }, { cityName: '余杭区' }],
},
{
cityName: '温州',
cities: [{ cityName: '鹿城区' }, { cityName: '瓯海区' }],
},
],
},
{
cityName: '福建',
cities: [
{
cityName: '福州',
cities: [{ cityName: '鼓楼区' }, { cityName: '台江区' }],
},
{
cityName: '厦门',
cities: [{ cityName: '思明区' }, { cityName: '海沧区' }],
},
],
},
],
'en-US': [
{
cityName: 'Zhejiang',
cities: [
{
cityName: 'Hangzhou',
cities: [{ cityName: 'Xihu' }, { cityName: 'Yuhang' }],
},
{
cityName: 'Wenzhou',
cities: [{ cityName: 'Lucheng' }, { cityName: 'Ouhai' }],
},
],
},
{
cityName: 'Fujian',
cities: [
{
cityName: 'Fuzhou',
cities: [{ cityName: 'Gulou' }, { cityName: 'Taijiang' }],
},
{
cityName: 'Xiamen',
cities: [{ cityName: 'Siming' }, { cityName: 'Haicang' }],
},
],
},
],
};
+16 -1
View File
@@ -64,11 +64,18 @@
/>
</van-popup>
</demo-block>
<demo-block card :title="t('customChildrenKey')">
<van-picker
:title="t('title')"
:columns="t('customChildrenColumns')"
:columns-field-names="customFieldName"
/>
</demo-block>
</template>
<script>
import { ref, computed, reactive, toRefs } from 'vue';
import { dateColumns, cascadeColumns } from './data';
import { dateColumns, cascadeColumns, cascadeColumnsCustomKey } from './data';
import { useTranslate } from '@demo/use-translate';
import Toast from '../../toast';
@@ -85,6 +92,8 @@ const i18n = {
cascadeColumns: cascadeColumns['zh-CN'],
multipleColumns: '多列选择',
setColumnValues: '动态设置选项',
customChildrenKey: '自定义Columns字段',
customChildrenColumns: cascadeColumnsCustomKey['zh-CN'],
textColumns: [
'杭州',
'宁波',
@@ -118,6 +127,8 @@ const i18n = {
cascadeColumns: cascadeColumns['en-US'],
multipleColumns: 'Multiple Columns',
setColumnValues: 'Set Column Values',
customChildrenKey: 'Custom Columns Fields',
customChildrenColumns: cascadeColumnsCustomKey['en-US'],
textColumns: ['Delaware', 'Florida', 'Georqia', 'Indiana', 'Maine'],
disabledColumns: [
{ text: 'Delaware', disabled: true },
@@ -139,6 +150,10 @@ export default {
const state = reactive({
showPicker: false,
fieldValue: '',
customFieldName: {
text: 'cityName',
children: 'cities',
},
});
const columns = computed(() => {