From e366b336e380a12f57fd5921473f45f67e9f757b Mon Sep 17 00:00:00 2001 From: neverland Date: Tue, 29 Jun 2021 20:20:05 +0800 Subject: [PATCH] feat(Picker): allow option text to be number type (#8951) --- src/picker/Picker.tsx | 13 ++++++++----- src/picker/PickerColumn.tsx | 4 ++-- src/picker/README.md | 2 +- src/picker/README.zh-CN.md | 4 ++-- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/picker/Picker.tsx b/src/picker/Picker.tsx index d651a4dfd..3cab7518a 100644 --- a/src/picker/Picker.tsx +++ b/src/picker/Picker.tsx @@ -94,7 +94,11 @@ export default defineComponent({ setup(props, { emit, slots }) { const formattedColumns = ref([]); - const { text: textKey, values: valuesKey, children: childrenKey } = extend( + const { + text: textKey, + values: valuesKey, + children: childrenKey, + } = extend( { // compatible with valueKey prop text: props.valueKey, @@ -104,9 +108,8 @@ export default defineComponent({ props.columnsFieldNames ); - const { children, linkChildren } = useChildren( - PICKER_KEY - ); + const { children, linkChildren } = + useChildren(PICKER_KEY); linkChildren(); @@ -114,7 +117,7 @@ export default defineComponent({ const dataType = computed(() => { const firstColumn = props.columns[0]; - if (firstColumn && typeof firstColumn !== 'string') { + if (typeof firstColumn === 'object') { if (childrenKey in firstColumn) { return 'cascade'; } diff --git a/src/picker/PickerColumn.tsx b/src/picker/PickerColumn.tsx index 416025301..f3adac270 100644 --- a/src/picker/PickerColumn.tsx +++ b/src/picker/PickerColumn.tsx @@ -37,13 +37,13 @@ function getElementTranslateY(element: Element) { export const PICKER_KEY = Symbol(name); export type PickerObjectOption = { - text?: string; + text?: string | number; disabled?: boolean; // for custom filed names [key: string]: any; }; -export type PickerOption = string | PickerObjectOption; +export type PickerOption = string | number | PickerObjectOption; export type PickerObjectColumn = { values?: PickerOption[]; diff --git a/src/picker/README.md b/src/picker/README.md index b428ef3e6..0b1968b56 100644 --- a/src/picker/README.md +++ b/src/picker/README.md @@ -360,7 +360,7 @@ Picker events will pass different parameters according to the columns are single | Key | Description | Type | | ------------ | ------------------------- | --------------------------- | -| values | Value of column | _string[]_ | +| values | Value of column | _Array_ | | defaultIndex | Default value index | _number_ | | className | ClassName for this column | _string \| Array \| object_ | | children | Cascade children | _Column_ | diff --git a/src/picker/README.zh-CN.md b/src/picker/README.zh-CN.md index 333dd8bef..e3c8e44f4 100644 --- a/src/picker/README.zh-CN.md +++ b/src/picker/README.zh-CN.md @@ -359,7 +359,7 @@ export default { ### Events -当选择器有多列时,事件回调参数会返回数组 +当选择器有多列时,事件回调参数会返回数组。 | 事件名 | 说明 | 回调参数 | | --- | --- | --- | @@ -385,7 +385,7 @@ export default { | 键名 | 说明 | 类型 | | ------------ | -------------------------- | --------------------------- | -| values | 列中对应的备选值 | _string[]_ | +| values | 列中对应的备选值 | _Array_ | | defaultIndex | 初始选中项的索引,默认为 0 | _number_ | | className | 为对应列添加额外的类名 | _string \| Array \| object_ | | children | 级联选项 | _Column_ |