From aeb2b6fc4dd4fee56c278b2c31634dd8dd6f4e99 Mon Sep 17 00:00:00 2001 From: JeremyWuuuuu <15975785+JeremyWuuuuu@users.noreply.github.com> Date: Sat, 9 Apr 2022 11:38:04 +0800 Subject: [PATCH] feat(components): [virtual-table] cell (#7068) - Add Cell component props definition - Implemented Cell component --- packages/components/table-v2/src/cell.ts | 21 +++++++++++++++++++ .../components/table-v2/src/table-cell.tsx | 17 +++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 packages/components/table-v2/src/cell.ts create mode 100644 packages/components/table-v2/src/table-cell.tsx diff --git a/packages/components/table-v2/src/cell.ts b/packages/components/table-v2/src/cell.ts new file mode 100644 index 0000000000..7b8f830edc --- /dev/null +++ b/packages/components/table-v2/src/cell.ts @@ -0,0 +1,21 @@ +import { buildProps, definePropType } from '@element-plus/utils' + +import type { ExtractPropTypes } from 'vue' +import type { Column } from './types' + +export const tableV2CellProps = buildProps({ + class: String, + cellData: { + type: definePropType([String, Boolean, Number, Object]), + }, + column: { + type: definePropType>(Object), + }, + columnIndex: Number, + rowData: { + type: definePropType(Object), + }, + rowIndex: Number, +} as const) + +export type TableV2CellProps = ExtractPropTypes diff --git a/packages/components/table-v2/src/table-cell.tsx b/packages/components/table-v2/src/table-cell.tsx new file mode 100644 index 0000000000..54827fe757 --- /dev/null +++ b/packages/components/table-v2/src/table-cell.tsx @@ -0,0 +1,17 @@ +import { defineComponent } from 'vue' + +import type { TableV2CellProps } from './cell' + +const TableV2Cell = defineComponent((props: TableV2CellProps, { slots }) => { + return ( +
+ {slots.default + ? slots.default(props) + : String.prototype.toString.call(props.cellData)} +
+ ) +}) + +TableV2Cell.name = 'TableV2Cell' + +export default TableV2Cell