Skip to content

Commit 22ff27d

Browse files
authored
feat(Table): 表格支持索引列 (DevCloudFE#387)
1 parent 82f784c commit 22ff27d

File tree

4 files changed

+11
-3
lines changed

4 files changed

+11
-3
lines changed

packages/devui-vue/devui/table/src/components/column/column-types.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export type Formatter = (row: DefaultRow, column: Column, cellValue: any, rowInd
77

88
export type CompareFn<T = any> = (field: string, a: T, b: T) => boolean;
99

10-
export type ColumnType = 'checkable' | '';
10+
export type ColumnType = 'checkable' | 'index' | '';
1111

1212
export interface FilterConfig {
1313
id: number | string;
@@ -23,7 +23,6 @@ export const tableColumnProps = {
2323
},
2424
header: {
2525
type: String,
26-
default: '',
2726
},
2827
field: {
2928
type: String,

packages/devui-vue/devui/table/src/components/column/config.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,12 @@ export const cellMap = {
2525
});
2626
},
2727
},
28+
index: {
29+
renderHeader(column: Column): VNode {
30+
return h('span', { class: 'title' }, column.header ?? '#');
31+
},
32+
renderCell(rowData: DefaultRow, column: Column, store: TableStore, rowIndex: number): number {
33+
return rowIndex + 1;
34+
},
35+
},
2836
};

packages/devui-vue/devui/table/src/components/column/use-column.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export function createColumn(props: ToRefs<TableColumnProps>, templates: Slots):
2727
column.type = type.value;
2828

2929
function defaultRenderHeader(columnItem: Column) {
30-
return h('span', { class: 'title' }, columnItem.header);
30+
return h('span', { class: 'title' }, columnItem.header ?? '');
3131
}
3232

3333
function defaultRenderCell(rowData: DefaultRow, columnItem: Column, store: TableStore, rowIndex: number) {

packages/devui-vue/docs/components/table/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
```vue
1515
<template>
1616
<d-table :data="baseTableData">
17+
<d-column type="index"></d-column>
1718
<d-column field="firstName" header="First Name"></d-column>
1819
<d-column field="lastName" header="Last Name"></d-column>
1920
<d-column field="gender" header="Gender"></d-column>

0 commit comments

Comments
 (0)