From b20865ffb6a64383ad4a2aeb14ec1aa4f33d1e94 Mon Sep 17 00:00:00 2001 From: tangjinzhou <415800467@qq.com> Date: Fri, 26 Nov 2021 22:34:27 +0800 Subject: [PATCH] fix: ts type error --- components/mentions/index.tsx | 2 + components/steps/index.tsx | 6 ++- components/table/index.tsx | 59 ++++++++++------------------ components/tree/index.tsx | 5 ++- components/vc-table/Footer/index.tsx | 4 +- 5 files changed, 32 insertions(+), 44 deletions(-) diff --git a/components/mentions/index.tsx b/components/mentions/index.tsx index f2bb1fbd3..5e29d7286 100644 --- a/components/mentions/index.tsx +++ b/components/mentions/index.tsx @@ -8,6 +8,7 @@ import useConfigInject from '../_util/hooks/useConfigInject'; import { flattenChildren, getOptionProps } from '../_util/props-util'; import { useInjectFormItemContext } from '../form/FormItemContext'; import omit from '../_util/omit'; +import { optionProps } from '../vc-mentions/src/Option'; interface MentionsConfig { prefix?: string | string[]; @@ -209,6 +210,7 @@ const Mentions = defineComponent({ export const MentionsOption = defineComponent({ ...Option, name: 'AMentionsOption', + props: optionProps, }); export default Object.assign(Mentions, { diff --git a/components/steps/index.tsx b/components/steps/index.tsx index c445b8395..3b4e6802f 100644 --- a/components/steps/index.tsx +++ b/components/steps/index.tsx @@ -122,7 +122,11 @@ const Steps = defineComponent({ }); /* istanbul ignore next */ -export const Step = defineComponent({ ...VcStep, name: 'AStep', props: VcStepProps() }); +export const Step = defineComponent({ + ...VcStep, + name: 'AStep', + props: VcStepProps(), +}); export default Object.assign(Steps, { Step, install: (app: App) => { diff --git a/components/table/index.tsx b/components/table/index.tsx index 3121d7540..9fb8af607 100644 --- a/components/table/index.tsx +++ b/components/table/index.tsx @@ -14,48 +14,13 @@ export type { TableProps, TablePaginationConfig }; const TableSummaryRow = defineComponent({ ...SummaryRow, name: 'ATableSummaryRow' }); const TableSummaryCell = defineComponent({ ...SummaryCell, name: 'ATableSummaryCell' }); -const TempSummary = defineComponent({ - ...Summary, +const TableSummary = Object.assign(Summary, { + Cell: TableSummaryCell, + Row: TableSummaryRow, name: 'ATableSummary', }); -const TableSummary = TempSummary as typeof TempSummary & { - Cell: typeof TableSummaryCell; - Row: typeof TableSummaryRow; -}; -TableSummary.Cell = TableSummaryCell; -TableSummary.Row = TableSummaryRow; - -const T = Table as typeof Table & - Plugin & { - Column: typeof Column; - ColumnGroup: typeof ColumnGroup; - Summary: typeof TableSummary; - SELECTION_ALL: typeof SELECTION_ALL; - SELECTION_INVERT: typeof SELECTION_INVERT; - SELECTION_NONE: typeof SELECTION_NONE; - }; - -T.SELECTION_ALL = SELECTION_ALL; -T.SELECTION_INVERT = SELECTION_INVERT; -T.SELECTION_NONE = SELECTION_NONE; - -T.Column = Column; -T.ColumnGroup = ColumnGroup; - -T.Summary = TableSummary; - /* istanbul ignore next */ -T.install = function (app: App) { - app.component(TableSummary.name, TableSummary); - app.component(TableSummaryCell.name, TableSummaryCell); - app.component(TableSummaryRow.name, TableSummaryRow); - app.component(T.name, T); - app.component(T.Column.name, Column); - app.component(T.ColumnGroup.name, ColumnGroup); - return app; -}; - export { tableProps, TableSummary, @@ -65,4 +30,20 @@ export { ColumnGroup as TableColumnGroup, }; -export default T; +export default Object.assign(Table, { + SELECTION_ALL, + SELECTION_INVERT, + SELECTION_NONE, + Column, + ColumnGroup, + Summary: TableSummary, + install: (app: App) => { + app.component(TableSummary.name, TableSummary); + app.component(TableSummaryCell.name, TableSummaryCell); + app.component(TableSummaryRow.name, TableSummaryRow); + app.component(Table.name, Table); + app.component(Column.name, Column); + app.component(ColumnGroup.name, ColumnGroup); + return app; + }, +}); diff --git a/components/tree/index.tsx b/components/tree/index.tsx index 10e8b539a..7df8bb55d 100644 --- a/components/tree/index.tsx +++ b/components/tree/index.tsx @@ -1,8 +1,9 @@ import type { App } from 'vue'; import { defineComponent } from 'vue'; import Tree from './Tree'; -import { TreeNode as VsTreeNode } from '../vc-tree'; +import { TreeNode as VcTreeNode } from '../vc-tree'; import DirectoryTree from './DirectoryTree'; +import { treeNodeProps } from '../vc-tree/props'; export type { EventDataNode, DataNode } from '../vc-tree/interface'; @@ -25,7 +26,7 @@ export type { /* istanbul ignore next */ -const TreeNode = defineComponent({ ...VsTreeNode, name: 'ATreeNode' }); +const TreeNode = defineComponent({ ...VcTreeNode, name: 'ATreeNode', props: treeNodeProps }); export { DirectoryTree, TreeNode }; diff --git a/components/vc-table/Footer/index.tsx b/components/vc-table/Footer/index.tsx index c27762d31..77112898c 100644 --- a/components/vc-table/Footer/index.tsx +++ b/components/vc-table/Footer/index.tsx @@ -12,10 +12,10 @@ export interface FooterProps<RecordType = DefaultRecordType> { flattenColumns: FlattenColumns<RecordType>; } -export default defineComponent({ +export default defineComponent<FooterProps>({ name: 'Footer', inheritAttrs: false, - props: ['stickyOffsets', 'flattenColumns'], + props: ['stickyOffsets', 'flattenColumns'] as any, setup(props, { slots }) { const tableContext = useInjectTable(); useProvideSummary(