@byan99/vue-base-table 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.base-table[data-v-
|
|
1
|
+
.base-table[data-v-e3b643d1]{width:100%}
|
|
2
2
|
/*$vite$:1*/
|
package/dist/index.js
CHANGED
|
@@ -14,38 +14,57 @@ var p = /*#__PURE__*/ ((e, t) => {
|
|
|
14
14
|
loading: { type: Boolean },
|
|
15
15
|
emptyText: {},
|
|
16
16
|
stripe: { type: Boolean },
|
|
17
|
-
bordered: { type: Boolean }
|
|
17
|
+
bordered: { type: Boolean },
|
|
18
|
+
defaultSort: {}
|
|
18
19
|
},
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
emits: ["sortChange"],
|
|
21
|
+
setup(i, { emit: p }) {
|
|
22
|
+
let m = p;
|
|
23
|
+
function h(e, t) {
|
|
21
24
|
let n = e[t];
|
|
22
25
|
return n == null ? "" : String(n);
|
|
23
26
|
}
|
|
24
|
-
|
|
27
|
+
function g(e) {
|
|
28
|
+
m("sortChange", {
|
|
29
|
+
prop: e.prop,
|
|
30
|
+
order: e.order
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return (p, m) => (a(), t(l(d), {
|
|
25
34
|
class: "base-table",
|
|
26
35
|
data: i.data,
|
|
27
36
|
stripe: i.stripe,
|
|
28
37
|
border: i.bordered,
|
|
29
38
|
loading: i.loading,
|
|
30
|
-
"empty-text": i.emptyText ?? "暂无数据"
|
|
39
|
+
"empty-text": i.emptyText ?? "暂无数据",
|
|
40
|
+
"default-sort": i.defaultSort,
|
|
41
|
+
onSortChange: g
|
|
31
42
|
}, {
|
|
32
43
|
default: u(() => [(a(!0), n(e, null, o(i.columns, (e) => (a(), t(l(f), {
|
|
33
44
|
key: e.key,
|
|
34
45
|
prop: e.key,
|
|
35
46
|
label: e.label,
|
|
36
47
|
width: e.width,
|
|
37
|
-
align: e.align ?? "left"
|
|
48
|
+
align: e.align ?? "left",
|
|
49
|
+
sortable: e.sortable,
|
|
50
|
+
"sort-method": e.sortMethod,
|
|
51
|
+
"sort-by": e.sortBy,
|
|
52
|
+
"sort-orders": e.sortOrders
|
|
38
53
|
}, {
|
|
39
|
-
default: u(({ row: t }) => [s(
|
|
54
|
+
default: u(({ row: t }) => [s(p.$slots, e.key, {
|
|
40
55
|
row: t,
|
|
41
56
|
value: t[e.key]
|
|
42
|
-
}, () => [r(c(
|
|
57
|
+
}, () => [r(c(h(t, e.key)), 1)], !0)]),
|
|
43
58
|
_: 2
|
|
44
59
|
}, 1032, [
|
|
45
60
|
"prop",
|
|
46
61
|
"label",
|
|
47
62
|
"width",
|
|
48
|
-
"align"
|
|
63
|
+
"align",
|
|
64
|
+
"sortable",
|
|
65
|
+
"sort-method",
|
|
66
|
+
"sort-by",
|
|
67
|
+
"sort-orders"
|
|
49
68
|
]))), 128))]),
|
|
50
69
|
_: 3
|
|
51
70
|
}, 8, [
|
|
@@ -53,9 +72,10 @@ var p = /*#__PURE__*/ ((e, t) => {
|
|
|
53
72
|
"stripe",
|
|
54
73
|
"border",
|
|
55
74
|
"loading",
|
|
56
|
-
"empty-text"
|
|
75
|
+
"empty-text",
|
|
76
|
+
"default-sort"
|
|
57
77
|
]));
|
|
58
78
|
}
|
|
59
|
-
}), [["__scopeId", "data-v-
|
|
79
|
+
}), [["__scopeId", "data-v-e3b643d1"]]);
|
|
60
80
|
//#endregion
|
|
61
81
|
export { p as BaseTable };
|
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
import { TableColumn } from './types';
|
|
1
|
+
import { TableColumn, TableDefaultSort, TableSortChangePayload } from './types';
|
|
2
2
|
declare const _default: <T extends object>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
|
-
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
3
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
4
|
+
readonly onSortChange?: ((payload: TableSortChangePayload) => any) | undefined;
|
|
5
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onSortChange"> & {
|
|
4
6
|
columns: TableColumn<T>[];
|
|
5
7
|
data: T[];
|
|
6
8
|
loading?: boolean;
|
|
7
9
|
emptyText?: string;
|
|
8
10
|
stripe?: boolean;
|
|
9
11
|
bordered?: boolean;
|
|
12
|
+
defaultSort?: TableDefaultSort;
|
|
10
13
|
} & Partial<{}>> & import('vue').PublicProps;
|
|
11
14
|
expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
|
|
12
15
|
attrs: any;
|
|
13
16
|
slots: Partial<Record<NonNullable<keyof T & string>, (_: {
|
|
14
|
-
row:
|
|
15
|
-
value:
|
|
17
|
+
row: T;
|
|
18
|
+
value: T[keyof T & string];
|
|
16
19
|
}) => any>>;
|
|
17
|
-
emit:
|
|
20
|
+
emit: (evt: "sortChange", payload: TableSortChangePayload) => void;
|
|
18
21
|
}>) => import('vue').VNode & {
|
|
19
22
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
20
23
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as BaseTable } from './BaseTable.vue';
|
|
2
|
-
export type { TableAlign, TableColumn, TableProps } from './types';
|
|
2
|
+
export type { TableAlign, TableColumn, TableDefaultSort, TableProps, TableSortChangePayload, TableSortOrder, } from './types';
|
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
export type TableAlign = 'left' | 'center' | 'right';
|
|
2
|
+
export type TableSortOrder = 'ascending' | 'descending';
|
|
2
3
|
export interface TableColumn<T extends object = Record<string, unknown>> {
|
|
3
4
|
key: keyof T & string;
|
|
4
5
|
label: string;
|
|
5
6
|
width?: string;
|
|
6
7
|
align?: TableAlign;
|
|
8
|
+
/** 是否可排序;`custom` 表示远程排序,需监听 sort-change */
|
|
9
|
+
sortable?: boolean | 'custom';
|
|
10
|
+
/** 本地排序比较函数,sortable 为 true 时生效 */
|
|
11
|
+
sortMethod?: (a: T, b: T) => number;
|
|
12
|
+
/** 排序字段,默认使用 key */
|
|
13
|
+
sortBy?: string | string[];
|
|
14
|
+
/** 排序策略循环顺序,默认 ['ascending', 'descending', null] */
|
|
15
|
+
sortOrders?: (TableSortOrder | null)[];
|
|
16
|
+
}
|
|
17
|
+
export interface TableDefaultSort {
|
|
18
|
+
prop: string;
|
|
19
|
+
order: TableSortOrder;
|
|
20
|
+
}
|
|
21
|
+
export interface TableSortChangePayload {
|
|
22
|
+
prop: string | null;
|
|
23
|
+
order: TableSortOrder | null;
|
|
7
24
|
}
|
|
8
25
|
export interface TableProps<T extends object = Record<string, unknown>> {
|
|
9
26
|
columns: TableColumn<T>[];
|
|
@@ -12,4 +29,5 @@ export interface TableProps<T extends object = Record<string, unknown>> {
|
|
|
12
29
|
emptyText?: string;
|
|
13
30
|
stripe?: boolean;
|
|
14
31
|
bordered?: boolean;
|
|
32
|
+
defaultSort?: TableDefaultSort;
|
|
15
33
|
}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { BaseTable } from './components/Table';
|
|
2
|
-
export type { TableAlign, TableColumn, TableProps } from './components/Table';
|
|
2
|
+
export type { TableAlign, TableColumn, TableDefaultSort, TableProps, TableSortChangePayload, TableSortOrder, } from './components/Table';
|