xrk-components 0.4.2-beta.7 → 0.4.2-beta.8

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.
@@ -0,0 +1 @@
1
+ export declare const BaseTest: import("vue").DefineComponent<{}, {}, any, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
@@ -1,10 +1,10 @@
1
- import { FormItemRule, FormRules } from 'element-plus';
1
+ import { FormItemRule } from 'element-plus';
2
2
  import { DefineComponent } from 'vue';
3
3
  import { Arrayable } from 'element-plus/es/utils';
4
4
  import { ValidateFieldsError } from 'async-validator/dist-types/interface';
5
- export declare type BaseFormProps = {
6
- model: Record<string, any>;
7
- rules?: FormRules;
5
+ export declare type BaseFormProps<T extends Record<string, any> = any> = {
6
+ model: T;
7
+ rules?: Partial<Record<keyof T, Arrayable<FormItemRule>>>;
8
8
  inline?: boolean;
9
9
  labelPosition?: 'left' | 'right' | 'top';
10
10
  labelWidth?: string | number | 'auto';
@@ -17,18 +17,18 @@ export declare type BaseFormProps = {
17
17
  size?: 'large' | 'default' | 'small';
18
18
  disabled?: boolean;
19
19
  };
20
- export declare type BaseFormItemProps = {
21
- prop: string | Array<string>;
20
+ export declare type BaseFormItemProps<K = Arrayable<string>> = {
21
+ prop: K;
22
22
  label?: string;
23
23
  labelWidth?: string | number | 'auto';
24
24
  required?: boolean;
25
- rules?: FormItemRule | Array<FormItemRule>;
25
+ rules?: Arrayable<FormItemRule>;
26
26
  error?: string;
27
27
  showMessage?: boolean;
28
28
  inlineMessage?: boolean;
29
29
  size?: 'large' | 'default' | 'small';
30
30
  };
31
- export declare type BaseFormRef = {
31
+ export declare type BaseFormRef<T extends Record<string, any> = any> = {
32
32
  /**
33
33
  * 对整个表单的内容进行验证。 接收一个回调函数,或返回 Promise。
34
34
  */
@@ -36,19 +36,19 @@ export declare type BaseFormRef = {
36
36
  /**
37
37
  * 验证具体的某个字段。
38
38
  */
39
- validateField: (props?: Arrayable<BaseFormItemProps>, callback?: (isValid: boolean, invalidFields?: ValidateFieldsError) => void) => Promise<void>;
39
+ validateField: (props?: Arrayable<BaseFormItemProps<keyof T>>, callback?: (isValid: boolean, invalidFields?: ValidateFieldsError) => void) => Promise<void>;
40
40
  /**
41
41
  * 重置该表单项,将其值重置为初始值,并移除校验结果
42
42
  */
43
- resetFields: (props?: Arrayable<BaseFormItemProps>) => void;
43
+ resetFields: (props?: Arrayable<BaseFormItemProps<keyof T>>) => void;
44
44
  /**
45
45
  * 滚动到指定的字段
46
46
  */
47
- scrollToField: (prop: BaseFormItemProps) => void;
47
+ scrollToField: (prop: BaseFormItemProps<keyof T>) => void;
48
48
  /**
49
49
  * 清理某个字段的表单验证信息。
50
50
  */
51
- clearValidate: (props?: Arrayable<BaseFormItemProps>) => void;
51
+ clearValidate: (props?: Arrayable<BaseFormItemProps<keyof T>>) => void;
52
52
  };
53
53
  export declare type BaseFormItemRef = {
54
54
  /**
@@ -60,5 +60,7 @@ export declare type BaseFormItemRef = {
60
60
  */
61
61
  clearValidate: () => void;
62
62
  };
63
- export declare const BaseFormItem: DefineComponent<BaseFormItemProps, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<BaseFormItemProps>, {}>;
64
- export declare const BaseForm: DefineComponent<BaseFormProps, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<BaseFormProps>, {}>;
63
+ export declare const BaseFormItem: DefineComponent<BaseFormItemProps<Arrayable<string>>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<BaseFormItemProps<Arrayable<string>>>, {}>;
64
+ export declare const BaseForm: DefineComponent<BaseFormProps<any>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<BaseFormProps<any>>, {
65
+ model: any;
66
+ }>;
@@ -1,5 +1,5 @@
1
1
  import { DefineComponent } from 'vue';
2
2
  import { BaseTableColumnProps, BaseTableProps } from './types/type';
3
- export declare const BaseTable: DefineComponent<BaseTableProps, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<BaseTableProps>, {}>;
4
- export declare const BaseTableColumn: DefineComponent<BaseTableColumnProps, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<BaseTableColumnProps>, {}>;
5
- export declare const useTableColumn: (props: BaseTableColumnProps) => BaseTableColumnProps;
3
+ export declare const BaseTable: DefineComponent<BaseTableProps<{}>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<BaseTableProps<{}>>, {}>;
4
+ export declare const BaseTableColumn: DefineComponent<BaseTableColumnProps<any>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<BaseTableColumnProps<any>>, {}>;
5
+ export declare const useTableColumn: (props: BaseTableColumnProps<any>) => BaseTableColumnProps<any>;
@@ -1,72 +1,72 @@
1
1
  import { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';
2
2
  import { ComputedRef, CSSProperties, Ref } from 'vue';
3
- export declare type RowClassNameType = (info: {
4
- row: Record<string, any>;
3
+ export declare type RowClassNameType<T extends Record<string, any> = any> = (info: {
4
+ row: T;
5
5
  rowIndex: string | number;
6
6
  }) => string;
7
- export declare type RowStyleType = (info: {
8
- row: Record<string, any>;
7
+ export declare type RowStyleType<T extends Record<string, any> = any> = (info: {
8
+ row: T;
9
9
  rowIndex: string | number;
10
10
  }) => CSSProperties;
11
- export declare type CellClassNameType = (info: {
12
- row: Record<string, any>;
13
- column: TableColumnCtx<any>;
11
+ export declare type CellClassNameType<T extends Record<string, any> = any> = (info: {
12
+ row: T;
13
+ column: TableColumnCtx<T>;
14
14
  rowIndex: string | number;
15
15
  columnIndex: string | number;
16
16
  }) => string;
17
- export declare type CellStyleType = (info: {
18
- row: Record<string, any>;
19
- column: TableColumnCtx<any>;
17
+ export declare type CellStyleType<T extends Record<string, any> = any> = (info: {
18
+ row: T;
19
+ column: TableColumnCtx<T>;
20
20
  rowIndex: string | number;
21
21
  columnIndex: string | number;
22
22
  }) => CSSProperties;
23
- export declare type BaseTableSortInfoType = {
24
- column: TableColumnCtx<any>;
25
- prop: string;
23
+ export declare type BaseTableSortInfoType<T extends Record<string, any> = any> = {
24
+ column: TableColumnCtx<T>;
25
+ prop: keyof T;
26
26
  order: 'ascending' | 'descending' | null;
27
27
  };
28
- export declare type SpanMethod = (data: {
29
- row: any;
28
+ export declare type SpanMethod<T> = (data: {
29
+ row: T;
30
30
  rowIndex: number;
31
- column: TableColumnCtx<any>;
31
+ column: TableColumnCtx<T>;
32
32
  columnIndex: number;
33
33
  }) => number[] | {
34
34
  rowspan: number;
35
35
  colspan: number;
36
36
  } | undefined;
37
- export declare type BaseTableProps = {
38
- data: Array<Record<string, any>>;
39
- columns: Array<BaseTableColumnProps>;
37
+ export declare type BaseTableProps<T extends Record<string, any> = any> = {
38
+ data: Array<T>;
39
+ columns: Array<BaseTableColumnProps<T>>;
40
40
  height?: string | number;
41
41
  maxHeight?: string | number;
42
42
  stripe?: boolean;
43
43
  border?: boolean;
44
44
  size?: 'large' | 'default' | 'small';
45
45
  fit?: boolean;
46
- rowClassName?: RowClassNameType;
47
- rowStyle?: RowStyleType | CSSProperties;
48
- cellClassName?: CellClassNameType;
49
- cellStyle?: CellStyleType | CSSProperties;
50
- headerRowClassName?: RowClassNameType;
51
- headerRowStyle?: RowStyleType | CSSProperties;
52
- headerCellClassName?: CellClassNameType;
53
- headerCellStyle?: CellStyleType | CSSProperties;
54
- rowKey?: ((row: Record<string, any>) => string) | string;
46
+ rowClassName?: RowClassNameType<T>;
47
+ rowStyle?: RowStyleType<T> | CSSProperties;
48
+ cellClassName?: CellClassNameType<T>;
49
+ cellStyle?: CellStyleType<T> | CSSProperties;
50
+ headerRowClassName?: RowClassNameType<T>;
51
+ headerRowStyle?: RowStyleType<T> | CSSProperties;
52
+ headerCellClassName?: CellClassNameType<T>;
53
+ headerCellStyle?: CellStyleType<T> | CSSProperties;
54
+ rowKey?: ((row: T) => string) | string;
55
55
  defaultExpandAll?: boolean;
56
56
  expandRowKeys?: Array<string>;
57
57
  emptyText?: string;
58
58
  defaultSort?: {
59
- prop: string;
59
+ prop: keyof T;
60
60
  order: 'ascending' | 'descending';
61
61
  };
62
- spanMethod?: SpanMethod;
63
- onSortChange?: (info: BaseTableSortInfoType) => void;
64
- onSelect?: (selection: any, row: any) => void;
62
+ spanMethod?: SpanMethod<T>;
63
+ onSortChange?: (info: BaseTableSortInfoType<T>) => void;
64
+ onSelect?: (selection: any, row: T) => void;
65
65
  onSelectAll?: (selection: any) => void;
66
66
  };
67
- export declare type BaseTableColumnProps = {
68
- pageAllData?: Array<Record<string, any>>;
69
- prop?: string;
67
+ export declare type BaseTableColumnProps<T extends Record<string, any> = any> = {
68
+ pageAllData?: Array<T>;
69
+ prop?: keyof T;
70
70
  type?: 'index' | 'expand' | '_selection';
71
71
  index?: number | ((index: number) => number);
72
72
  label?: string;
@@ -75,15 +75,15 @@ export declare type BaseTableColumnProps = {
75
75
  minWidth?: string | number;
76
76
  fixed?: boolean | 'left' | 'right';
77
77
  sortable?: boolean | 'custom';
78
- sortMethod?: (a: any, b: any) => number;
79
- sortBy?: Array<string> | string | ((row: any, index: number) => string);
78
+ sortMethod?: (a: T, b: T) => number;
79
+ sortBy?: Array<string> | string | ((row: T, index: number) => string);
80
80
  sortOrders?: Array<'ascending' | 'descending' | null>;
81
81
  showOverflowTooltip?: boolean;
82
82
  align?: 'left' | 'right' | 'center';
83
83
  headerAlign?: 'left' | 'right' | 'center';
84
84
  className?: string;
85
85
  labelClassName?: string;
86
- children?: Array<BaseTableColumnProps>;
86
+ children?: Array<BaseTableColumnProps<T>>;
87
87
  /**
88
88
  * 最多显示多少行,超出时省略号,默认 1 ; 如果使用了render配置,则失效
89
89
  */
@@ -92,7 +92,7 @@ export declare type BaseTableColumnProps = {
92
92
  * 自定义列头
93
93
  */
94
94
  renderHeader?: (info: {
95
- column: TableColumnCtx<any>;
95
+ column: TableColumnCtx<T>;
96
96
  index: number;
97
97
  /**
98
98
  * 全选属性,当列的type = "_selection"时有效
@@ -120,29 +120,29 @@ export declare type BaseTableColumnProps = {
120
120
  * 格式化数据
121
121
  */
122
122
  formatter?: (info: {
123
- row: Record<string, any>;
124
- cellValue: any;
125
- column: TableColumnCtx<any>;
123
+ row: T;
124
+ cellValue: T[keyof T];
125
+ column: TableColumnCtx<T>;
126
126
  index: number;
127
127
  }) => any;
128
128
  /**
129
129
  * 自定义cell内容
130
130
  */
131
131
  render?: (info: {
132
- row: Record<string, any>;
133
- cellValue: any;
134
- column: TableColumnCtx<any>;
132
+ row: T;
133
+ cellValue: T[keyof T];
134
+ column: TableColumnCtx<T>;
135
135
  index: number;
136
136
  }) => JSX.Element;
137
137
  /**
138
138
  * 禁用每列的selection
139
139
  */
140
- selectionDisabled?: ((row: any) => boolean) | boolean;
141
- selectionRows?: Map<number | string, any>;
140
+ selectionDisabled?: ((row: T) => boolean) | boolean;
141
+ selectionRows?: Map<number | string, T>;
142
142
  hasSelectionRow?: (rowId: any) => boolean;
143
143
  addSelectionRow?: (rowId: any, row: any) => void;
144
144
  removeSelectionRow?: (rowId: any) => void;
145
- getSelectionRows?: () => Array<any>;
145
+ getSelectionRows?: () => Array<T>;
146
146
  clearSelectionRows?: () => void;
147
147
  /**
148
148
  * 点击表头全选框 ,选中前
@@ -151,24 +151,24 @@ export declare type BaseTableColumnProps = {
151
151
  /**
152
152
  * 点击多选框 ,选中前
153
153
  */
154
- selectionAddBefore?: (row: any, done: Function) => Promise<void> | void;
154
+ selectionAddBefore?: (row: T, done: Function) => Promise<void> | void;
155
155
  /**
156
156
  * 点击多选框 ,选中后
157
157
  */
158
- selectionAddAfter?: (row: any) => Promise<void> | void;
158
+ selectionAddAfter?: (row: T) => Promise<void> | void;
159
159
  /**
160
160
  * 点击多选框 ,移除前
161
161
  */
162
- selectionRemoveBefore?: (row: any, done: Function) => Promise<void> | void;
162
+ selectionRemoveBefore?: (row: T, done: Function) => Promise<void> | void;
163
163
  /**
164
164
  * 点击多选框 ,移除后
165
165
  */
166
- selectionRemoveAfter?: (row: any) => Promise<void> | void;
166
+ selectionRemoveAfter?: (row: T) => Promise<void> | void;
167
167
  };
168
168
  /**
169
169
  * T 每项的类型
170
170
  */
171
- export declare type BaseTbaleRef<T> = {
171
+ export declare type BaseTbaleRef<T extends Record<string, any> = any> = {
172
172
  /**
173
173
  * 获取所有勾选的数据
174
174
  */
@@ -9,37 +9,13 @@ export declare const useSearchColumns: (columns: Array<SerachColumnType>) => Arr
9
9
  export declare const useSearchBtn: (searchBtnConfig: SearchBtnType) => {
10
10
  text: string;
11
11
  show: boolean;
12
- beforeSearch?: ((searchValue: {
13
- [x: string]: any;
14
- }) => {
15
- [x: string]: any;
16
- } | Promise<{
17
- [x: string]: any;
18
- }>) | undefined;
19
- afterSearch?: ((searchValue: {
20
- [x: string]: any;
21
- }) => void | {
22
- [x: string]: any;
23
- } | Promise<{
24
- [x: string]: any;
25
- }>) | undefined;
12
+ beforeSearch?: ((searchValue: any) => any) | undefined;
13
+ afterSearch?: ((searchValue: any) => any) | undefined;
26
14
  };
27
15
  export declare const useResetBtn: (resetBtnConfig: ResetBtnType) => {
28
16
  text: string;
29
17
  show: boolean;
30
- beforeReset?: ((searchValue: {
31
- [x: string]: any;
32
- }) => {
33
- [x: string]: any;
34
- } | Promise<{
35
- [x: string]: any;
36
- }>) | undefined;
37
- afterReset?: ((searchValue: {
38
- [x: string]: any;
39
- }) => void | {
40
- [x: string]: any;
41
- } | Promise<{
42
- [x: string]: any;
43
- }>) | undefined;
18
+ beforeReset?: ((searchValue: any) => any) | undefined;
19
+ afterReset?: ((searchValue: any) => any) | undefined;
44
20
  };
45
21
  export declare const useOtherComponents: (otherComponents: Array<ComponentRender>) => Array<ComponentRender>;
@@ -1,20 +1,20 @@
1
1
  import { DefineComponent } from 'vue';
2
2
  import { ComponentRender, ResetBtnType, SearchBtnType, SerachColumnType } from './types/type';
3
- export declare type XrkSearchProps = {
4
- columns: Array<SerachColumnType>;
5
- searchBtn?: SearchBtnType;
6
- resetBtn?: ResetBtnType;
7
- otherComponents?: Array<ComponentRender>;
3
+ export declare type XrkSearchProps<T extends Record<string, any> = any> = {
4
+ columns: Array<SerachColumnType<T>>;
5
+ searchBtn?: SearchBtnType<T>;
6
+ resetBtn?: ResetBtnType<T>;
7
+ otherComponents?: Array<ComponentRender<T>>;
8
8
  };
9
- export declare type XrkSearchRef = {
9
+ export declare type XrkSearchRef<T extends Record<string, any> = any> = {
10
10
  /**
11
11
  * 设置指定搜索项
12
12
  */
13
- setSearchValue: (key: string | number, value: any) => void;
13
+ setSearchValue: (key: keyof T, value: any) => void;
14
14
  /**
15
15
  * 获取搜索组件所有搜索项
16
16
  */
17
- getSearchValue: () => Record<string, any>;
17
+ getSearchValue: () => T;
18
18
  /**
19
19
  * 清除搜索组件所有搜索项值
20
20
  */
@@ -28,4 +28,4 @@ export declare type XrkSearchRef = {
28
28
  */
29
29
  handleResetClick: () => void | Promise<void>;
30
30
  };
31
- export declare const XrkSearch: DefineComponent<XrkSearchProps, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<XrkSearchProps>, {}>;
31
+ export declare const XrkSearch: DefineComponent<XrkSearchProps<any>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<XrkSearchProps<any>>, {}>;
@@ -46,57 +46,57 @@ export interface ComponentsType {
46
46
  select: Component;
47
47
  datePicker: Component;
48
48
  }
49
- export declare type SerachColumnBaseType<T, S> = {
50
- prop: string;
49
+ export declare type SerachColumnBaseType<T extends Record<string, any>, S extends Record<string, any>, Q extends Record<string, any> = any> = {
50
+ prop: keyof Q;
51
51
  type?: keyof ComponentsType;
52
52
  label?: string;
53
53
  style?: CSSProperties;
54
- defaultValue?: any;
54
+ defaultValue?: Q[keyof Q];
55
55
  rules?: FormItemRule | Array<FormItemRule>;
56
56
  /**
57
57
  * 是否禁用
58
58
  */
59
- disabled?: boolean | ((searchValue: AnyObject) => Promise<boolean> | boolean);
59
+ disabled?: boolean | ((searchValue: Q) => Promise<boolean> | boolean);
60
60
  config?: T;
61
61
  listener?: S;
62
62
  };
63
- export declare type SerachColumnType = SerachColumnBaseType<BaseInputProps | BaseSelectProps | BaseDatePickerProps, BaseInputListener | BaseSelectListener | BaseDatePickerListener>;
63
+ export declare type SerachColumnType<Q extends Record<string, any> = any> = SerachColumnBaseType<BaseInputProps | BaseSelectProps | BaseDatePickerProps, BaseInputListener | BaseSelectListener | BaseDatePickerListener, Q>;
64
64
  /**
65
65
  * 搜索按钮配置
66
66
  * 点击时,执行顺序 beforeSearch -> emit.search -> afterSearch
67
67
  */
68
- export declare type SearchBtnType = {
68
+ export declare type SearchBtnType<T extends Record<string, any> = any> = {
69
69
  text?: string;
70
70
  show?: boolean;
71
71
  /**
72
72
  * 搜索前
73
73
  */
74
- beforeSearch?: (searchValue: AnyObject) => AnyObject | Promise<AnyObject>;
74
+ beforeSearch?: (searchValue: T) => T | Promise<T>;
75
75
  /**
76
76
  * 搜索后
77
77
  */
78
- afterSearch?: (searchValue: AnyObject) => void | AnyObject | Promise<AnyObject>;
78
+ afterSearch?: (searchValue: T) => void | T | Promise<T>;
79
79
  };
80
80
  /**
81
81
  * 重置按钮配置
82
82
  * 点击时,执行顺序 清空组件内的值 -> beforeReset -> emit.search -> afterReset
83
83
  */
84
- export declare type ResetBtnType = {
84
+ export declare type ResetBtnType<T extends Record<string, any> = any> = {
85
85
  text?: string;
86
86
  show?: boolean;
87
87
  /**
88
88
  * 重置前
89
89
  */
90
- beforeReset?: (searchValue: AnyObject) => AnyObject | Promise<AnyObject>;
90
+ beforeReset?: (searchValue: T) => T | Promise<T>;
91
91
  /**
92
92
  * 重置后
93
93
  */
94
- afterReset?: (searchValue: AnyObject) => void | AnyObject | Promise<AnyObject>;
94
+ afterReset?: (searchValue: T) => void | T | Promise<T>;
95
95
  };
96
- export interface ComponentRender {
96
+ export interface ComponentRender<Q extends Record<string, any> = any> {
97
97
  render: (renderInfo: {
98
- columns: Array<SerachColumnType>;
99
- searchValue: Record<string, any>;
98
+ columns: Array<SerachColumnType<Q>>;
99
+ searchValue: Q;
100
100
  }) => Component;
101
101
  }
102
102
  export {};
@@ -1,14 +1,14 @@
1
1
  import { DefineComponent } from 'vue';
2
2
  import { XrkTableProps } from './types/type';
3
- export declare type XrkTableRef = {
3
+ export declare type XrkTableRef<S extends Record<string, any> = any, T extends Record<string, any> = any> = {
4
4
  /**
5
5
  * 获取当前表格选择的所有数据
6
6
  */
7
- getSelectionRows: () => any[];
7
+ getSelectionRows: () => T[];
8
8
  /**
9
9
  * 当前表格增加选中项
10
10
  */
11
- addSelectionRow: (rowId: string | number, row: any) => void;
11
+ addSelectionRow: (rowId: string | number, row: T) => void;
12
12
  /**
13
13
  * 移除当前表格指定选中项
14
14
  */
@@ -24,18 +24,18 @@ export declare type XrkTableRef = {
24
24
  /**
25
25
  * 设置指定搜索项
26
26
  */
27
- setSearchValue: (key: string | number, value: any) => void;
27
+ setSearchValue: (key: keyof S, value: any) => void;
28
28
  /**
29
29
  * 获取搜索组件所有搜索项
30
30
  */
31
- getSearchValue: () => Record<string, any>;
31
+ getSearchValue: () => S;
32
32
  /**
33
33
  * 刷新当前页,可传入自定义参数(只会作用与这次列表获取,相同变量会被search组件设置的值覆盖)
34
34
  */
35
- initCurrentList: (customQuery?: Record<string, any>) => Promise<void>;
35
+ initCurrentList: (customQuery?: S) => Promise<void>;
36
36
  /**
37
37
  * 回到第一页,并刷新列表,可传入自定义参数(只会作用与这次列表获取,相同变量会被search组件设置的值覆盖)
38
38
  */
39
- initList: (customQuery?: Record<string, any>) => Promise<void>;
39
+ initList: (customQuery?: S) => Promise<void>;
40
40
  };
41
- export declare const XrkTable: DefineComponent<XrkTableProps, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<XrkTableProps>, {}>;
41
+ export declare const XrkTable: DefineComponent<XrkTableProps<any, any>, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<XrkTableProps<any, any>>, {}>;
@@ -1,6 +1,17 @@
1
1
  import { BaseTableColumnProps, BaseTableProps } from '../../../base/table/types/type';
2
2
  import { ComponentRender, ResetBtnType, SearchBtnType, SerachColumnType } from '../../search/types/type';
3
- export declare type XrkTableProps = {
3
+ declare type Result<T = any> = {
4
+ code: number;
5
+ message: string;
6
+ status: 0 | 1;
7
+ data?: {
8
+ list: T;
9
+ total?: number;
10
+ [x: string]: any;
11
+ };
12
+ type?: 'success' | 'error' | 'warning';
13
+ };
14
+ export declare type XrkTableProps<S extends Record<string, any> = any, T extends Record<string, any> = any> = {
4
15
  /**
5
16
  * 是否立即执行getListAjax,默认是 (执行时机:onMounted)
6
17
  */
@@ -8,7 +19,7 @@ export declare type XrkTableProps = {
8
19
  /**
9
20
  * 获取表格数据
10
21
  */
11
- getListAjax: (query?: Record<string, any>) => Promise<any> | any;
22
+ getListAjax: (query?: S) => Promise<Result<Array<T>>> | Result<Array<T>>;
12
23
  /**
13
24
  * 搜索项配置
14
25
  */
@@ -16,21 +27,21 @@ export declare type XrkTableProps = {
16
27
  /**
17
28
  * 搜索项
18
29
  */
19
- searchColumns: Array<SerachColumnType>;
30
+ searchColumns: Array<SerachColumnType<S>>;
20
31
  /**
21
32
  * 搜索按钮配置
22
33
  * 点击时,执行顺序 beforeSearch -> emit.search -> afterSearch
23
34
  */
24
- searchBtn?: SearchBtnType;
35
+ searchBtn?: SearchBtnType<S>;
25
36
  /**
26
37
  * 重置按钮配置
27
38
  * 点击时,执行顺序 清空组件内的值 -> beforeReset -> emit.search -> afterReset
28
39
  */
29
- resetBtn?: ResetBtnType;
40
+ resetBtn?: ResetBtnType<S>;
30
41
  /**
31
42
  * 其他组件
32
43
  */
33
- otherComponents?: Array<ComponentRender>;
44
+ otherComponents?: Array<ComponentRender<S>>;
34
45
  };
35
46
  /**
36
47
  * 表格配置
@@ -39,8 +50,8 @@ export declare type XrkTableProps = {
39
50
  /**
40
51
  * 表格列 Array<BaseTableColumnProps>
41
52
  */
42
- tableColumns: Array<BaseTableColumnProps>;
43
- baseConfig?: Partial<BaseTableProps>;
53
+ tableColumns: Array<BaseTableColumnProps<T>>;
54
+ baseConfig?: Partial<BaseTableProps<T>>;
44
55
  };
45
56
  /**
46
57
  * 分页器配置
@@ -64,3 +75,4 @@ export declare type XrkTableProps = {
64
75
  paginationCurrentPage?: number;
65
76
  };
66
77
  };
78
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xrk-components",
3
- "version": "0.4.2-beta.7",
3
+ "version": "0.4.2-beta.8",
4
4
  "description": "",
5
5
  "main": "lib/index.esm.js",
6
6
  "typings": "lib/packages/index.d.ts",