@yidun/antd-super-table 0.1.10 → 0.1.12
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/README.md +92 -37
- package/dist/SuperTable.vue.d.ts +23 -1
- package/dist/components/FormSearchParams.vue.d.ts +13 -0
- package/dist/index.js +1813 -1653
- package/dist/interface.d.ts +42 -0
- package/dist/utils/index.d.ts +4 -0
- package/example/formItems.ts +10 -1
- package/example/index.vue +20 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -214,21 +214,23 @@ SuperTable: sceneStorageType 为 "api" 时,必须提供 sceneRequest 配置
|
|
|
214
214
|
|
|
215
215
|
### 查询条件属性
|
|
216
216
|
|
|
217
|
-
| 属性名 | 类型
|
|
218
|
-
| ------------- |
|
|
219
|
-
| type | string
|
|
220
|
-
| name | string
|
|
221
|
-
| label | string
|
|
222
|
-
| value | any
|
|
223
|
-
| props | object
|
|
224
|
-
| component | Component
|
|
225
|
-
| modelPropName | string
|
|
226
|
-
| span | number
|
|
227
|
-
| visible | boolean
|
|
228
|
-
| fixed | boolean
|
|
229
|
-
| selected | boolean
|
|
230
|
-
| quiet | boolean
|
|
231
|
-
| showLabel | boolean
|
|
217
|
+
| 属性名 | 类型 | 默认值 | 说明 |
|
|
218
|
+
| ------------- | ------------- | ------- | ----------------------------------------------------------------- |
|
|
219
|
+
| type | string | - | 查询条件类型 |
|
|
220
|
+
| name | string | - | 字段名称 |
|
|
221
|
+
| label | string | - | 显示标签 |
|
|
222
|
+
| value | any | - | 默认值 |
|
|
223
|
+
| props | object | {} | 传递给组件的属性 |
|
|
224
|
+
| component | Component | - | 自定义组件(type为component时必填) |
|
|
225
|
+
| modelPropName | string | 'value' | 自定义组件的v-model属性名 |
|
|
226
|
+
| span | number | 1 | 列宽系数 |
|
|
227
|
+
| visible | boolean | true | 是否显示 |
|
|
228
|
+
| fixed | boolean | false | 是否固定(不可删除) |
|
|
229
|
+
| selected | boolean | false | 是否默认选中 |
|
|
230
|
+
| quiet | boolean | false | 是否静默更新(不触发搜索) |
|
|
231
|
+
| showLabel | boolean | true | 是否显示标签 |
|
|
232
|
+
| tooltip | string/number | - | 查询项提示信息,展示为标签旁 icon 的 tooltip(默认 top) |
|
|
233
|
+
| addonAfter | object | - | 仅 `input` 生效,后置 `link/small` 按钮配置(文案/样式/点击事件) |
|
|
232
234
|
|
|
233
235
|
### 完整示例
|
|
234
236
|
|
|
@@ -243,7 +245,15 @@ export const createFormItems = () => {
|
|
|
243
245
|
type: 'input', // 类型
|
|
244
246
|
label: '输入框',
|
|
245
247
|
name: 'input', // 字段名称
|
|
248
|
+
tooltip: '按关键词过滤',
|
|
246
249
|
fixed: true,
|
|
250
|
+
addonAfter: {
|
|
251
|
+
text: '查询帮助',
|
|
252
|
+
className: 'my-addon-after-btn',
|
|
253
|
+
onClick: ({ name, value }) => {
|
|
254
|
+
console.log('[super-table] addonAfter click:', { name, value })
|
|
255
|
+
},
|
|
256
|
+
},
|
|
247
257
|
},
|
|
248
258
|
{
|
|
249
259
|
key: 'inputGroup',
|
|
@@ -284,6 +294,7 @@ export const createFormItems = () => {
|
|
|
284
294
|
type: 'inputNumber',
|
|
285
295
|
label: '数字输入框',
|
|
286
296
|
name: 'inputNumber',
|
|
297
|
+
tooltip: 1001,
|
|
287
298
|
fixed: true,
|
|
288
299
|
},
|
|
289
300
|
{
|
|
@@ -628,6 +639,20 @@ const onRowSortEnd = newData => {
|
|
|
628
639
|
</template>
|
|
629
640
|
```
|
|
630
641
|
|
|
642
|
+
### 关闭场景,仅使用高级筛选
|
|
643
|
+
|
|
644
|
+
```vue
|
|
645
|
+
<template>
|
|
646
|
+
<SuperTable
|
|
647
|
+
:form-items="formItems"
|
|
648
|
+
:columns="columns"
|
|
649
|
+
:request="onRequest"
|
|
650
|
+
:enable-scene="false"
|
|
651
|
+
:enable-advanced-filter="true"
|
|
652
|
+
/>
|
|
653
|
+
</template>
|
|
654
|
+
```
|
|
655
|
+
|
|
631
656
|
### 插槽使用
|
|
632
657
|
|
|
633
658
|
```vue
|
|
@@ -670,28 +695,30 @@ const onRowSortEnd = newData => {
|
|
|
670
695
|
|
|
671
696
|
### Props
|
|
672
697
|
|
|
673
|
-
| 参数
|
|
674
|
-
|
|
|
675
|
-
| formItems
|
|
676
|
-
| columns
|
|
677
|
-
| request
|
|
678
|
-
| sceneType
|
|
679
|
-
| enableScene
|
|
680
|
-
|
|
|
681
|
-
|
|
|
682
|
-
|
|
|
683
|
-
|
|
|
684
|
-
|
|
|
685
|
-
|
|
|
686
|
-
|
|
|
687
|
-
|
|
|
688
|
-
|
|
|
689
|
-
|
|
|
690
|
-
|
|
|
691
|
-
|
|
|
692
|
-
|
|
|
693
|
-
|
|
|
694
|
-
|
|
|
698
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
699
|
+
| -------------------- | -------------------------------- | ----------------------------- | ------------------------------- | --------- |
|
|
700
|
+
| formItems | 查询条件配置 | `SuperTableFormItem[]` | `[]` |
|
|
701
|
+
| columns | 表格列配置 | `SuperTableColumn[]` | `[]` |
|
|
702
|
+
| request | 数据请求函数 | `SuperTableRequestFunction` | - |
|
|
703
|
+
| sceneType | 场景类型 | `string` | `''` |
|
|
704
|
+
| enableScene | 是否启用场景管理 | `boolean` | `true` |
|
|
705
|
+
| enableAdvancedFilter | 是否启用高级筛选(可独立于场景) | `boolean` | `false` |
|
|
706
|
+
| sceneStorageType | 场景存储位置 | `'local' | 'api'` | `'local'` |
|
|
707
|
+
| sceneRequest | 场景请求函数配置 | `SceneRequestConfig` | - |
|
|
708
|
+
| defaultScene | 默认场景配置 | `SuperTableDefaultSceneConfig | SuperTableDefaultSceneConfig[]` | - |
|
|
709
|
+
| maxSceneCount | 最大场景数量 | `number` | `100` |
|
|
710
|
+
| formItemColSpan | 查询条件列数 | `number` | `6` |
|
|
711
|
+
| debounceWait | 查询防抖时间(ms) | `number` | `100` |
|
|
712
|
+
| refreshDeps | 依赖刷新选项 | `any[]` | `[]` |
|
|
713
|
+
| tableProps | 表格属性 | `TableProps` | `{}` |
|
|
714
|
+
| formatDataSource | 转换表格数据 | `(data: any[]) => any[]` | `(data) => data` |
|
|
715
|
+
| sortable | 是否可排序 | `boolean` | `false` |
|
|
716
|
+
| wrapperStyle | 容器样式 | `object` | `{}` |
|
|
717
|
+
| tableWrapperStyle | 表格容器样式 | `object` | `{}` |
|
|
718
|
+
| customQueryParams | 默认查询条件 | `object` | `{}` |
|
|
719
|
+
| autoSearch | 是否自动发起查询 | `boolean` | `true` |
|
|
720
|
+
| showRefreshButton | 展示刷新按钮 | `boolean` | `false` |
|
|
721
|
+
| enableTableConfig | 开启表格设置 | `boolean` | `true` |
|
|
695
722
|
|
|
696
723
|
### Events
|
|
697
724
|
|
|
@@ -814,6 +841,9 @@ export interface SuperTableFormItem {
|
|
|
814
841
|
/** 查询项label */
|
|
815
842
|
label: string
|
|
816
843
|
|
|
844
|
+
/** 查询项提示信息,展示在标签旁的 tooltip 中 */
|
|
845
|
+
tooltip?: string | number
|
|
846
|
+
|
|
817
847
|
/** 传递给查询详的props */
|
|
818
848
|
props?: Record<string, any>
|
|
819
849
|
|
|
@@ -832,6 +862,20 @@ export interface SuperTableFormItem {
|
|
|
832
862
|
/** 带select前缀的组合输入框配置 */
|
|
833
863
|
addonBeforeProps?: SelectProps
|
|
834
864
|
|
|
865
|
+
/** input 的后置附加按钮配置 */
|
|
866
|
+
addonAfter?: {
|
|
867
|
+
/** 按钮文案 */
|
|
868
|
+
text?: string
|
|
869
|
+
/** 按钮自定义 class */
|
|
870
|
+
className?: string
|
|
871
|
+
/** 是否显示,默认 true */
|
|
872
|
+
show?: boolean
|
|
873
|
+
/** 是否禁用 */
|
|
874
|
+
disabled?: boolean
|
|
875
|
+
/** 点击回调 */
|
|
876
|
+
onClick?: (context: { name: string; value: any; formItem: SuperTableFormItem }) => void
|
|
877
|
+
}
|
|
878
|
+
|
|
835
879
|
/** 改变时保持静默,不要触发搜索*/
|
|
836
880
|
quiet?: boolean
|
|
837
881
|
|
|
@@ -1002,11 +1046,22 @@ export interface SuperTableAntdProps extends TableProps {
|
|
|
1002
1046
|
|
|
1003
1047
|
## 更新日志
|
|
1004
1048
|
|
|
1049
|
+
### v0.1.12
|
|
1050
|
+
|
|
1051
|
+
- ✨ 查询项 `input` 新增 `addonAfter`:支持 `link + small` 按钮、`className` 和点击回调
|
|
1052
|
+
- ⚙️ 新增 `autoSearch`:支持在 `enableScene=false` 时关闭自动请求,仅手动查询
|
|
1053
|
+
- 🔒 `customQueryParams` 行为增强:切换场景后仍在请求阶段持续生效
|
|
1054
|
+
- 🧩 新增 `enableAdvancedFilter`:支持不开场景时独立使用“高级筛选”弹窗
|
|
1055
|
+
- 💄 查询项拼接边框样式优化:减少 `label + input/inputNumber` 的视觉缝隙
|
|
1056
|
+
- 📝 详细变更记录见 [CHANGELOG.md](./CHANGELOG.md)
|
|
1057
|
+
|
|
1005
1058
|
### v0.1.10
|
|
1006
1059
|
|
|
1007
1060
|
- ✨ 新增列级自定义单元格插槽能力:支持在列配置中通过 `slotName` 指定外层具名插槽渲染
|
|
1008
1061
|
- 🔁 渲染优先级优化:命中 `slotName` 时优先插槽渲染,未命中时继续使用原有 `type/component` 渲染
|
|
1009
1062
|
- 🎨 样式优化:自定义插槽单元格新增容器,并默认 `white-space: normal` 以支持多行内容展示
|
|
1063
|
+
- ✨ 查询条件新增 `tooltip`(`string | number`)能力:主页面与场景弹窗均支持 icon 悬浮提示(默认 top)
|
|
1064
|
+
- 🎯 场景弹窗 tooltip 区域宽度统一预留:无 tooltip 时不展示 icon,但保留占位,避免布局抖动
|
|
1010
1065
|
- 🧩 示例补充:新增 `slotName` 列配置与多行列表插槽示例(含 badge/button/tag 等非纯文本元素)
|
|
1011
1066
|
- 📝 详细变更记录见 [CHANGELOG.md](./CHANGELOG.md)
|
|
1012
1067
|
|
package/dist/SuperTable.vue.d.ts
CHANGED
|
@@ -42,6 +42,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
42
42
|
type: ArrayConstructor;
|
|
43
43
|
default: () => never[];
|
|
44
44
|
};
|
|
45
|
+
/** 是否自动发起查询(主要用于 enableScene=false 场景) */
|
|
46
|
+
autoSearch: {
|
|
47
|
+
type: BooleanConstructor;
|
|
48
|
+
default: boolean;
|
|
49
|
+
};
|
|
45
50
|
/** 表格列配置 */
|
|
46
51
|
columns: {
|
|
47
52
|
type: PropType<SuperTableColumn[]>;
|
|
@@ -92,6 +97,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
92
97
|
type: BooleanConstructor;
|
|
93
98
|
default: boolean;
|
|
94
99
|
};
|
|
100
|
+
/** 是否启用高级筛选弹窗(可独立于场景使用) */
|
|
101
|
+
enableAdvancedFilter: {
|
|
102
|
+
type: BooleanConstructor;
|
|
103
|
+
default: boolean;
|
|
104
|
+
};
|
|
95
105
|
/**
|
|
96
106
|
* 是否显示展开/收起按钮
|
|
97
107
|
* 默认 false,可通过开关控制,不受 enableScene 影响
|
|
@@ -131,7 +141,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
131
141
|
default: boolean;
|
|
132
142
|
};
|
|
133
143
|
}>, {
|
|
134
|
-
onRefresh: () => void;
|
|
144
|
+
onRefresh: (force?: boolean) => void;
|
|
135
145
|
onResetForm: () => void;
|
|
136
146
|
isInitialized: import("vue").Ref<boolean, boolean>;
|
|
137
147
|
getTableData(): import("./interface").SuperTableDataItem[];
|
|
@@ -191,6 +201,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
191
201
|
type: ArrayConstructor;
|
|
192
202
|
default: () => never[];
|
|
193
203
|
};
|
|
204
|
+
/** 是否自动发起查询(主要用于 enableScene=false 场景) */
|
|
205
|
+
autoSearch: {
|
|
206
|
+
type: BooleanConstructor;
|
|
207
|
+
default: boolean;
|
|
208
|
+
};
|
|
194
209
|
/** 表格列配置 */
|
|
195
210
|
columns: {
|
|
196
211
|
type: PropType<SuperTableColumn[]>;
|
|
@@ -241,6 +256,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
241
256
|
type: BooleanConstructor;
|
|
242
257
|
default: boolean;
|
|
243
258
|
};
|
|
259
|
+
/** 是否启用高级筛选弹窗(可独立于场景使用) */
|
|
260
|
+
enableAdvancedFilter: {
|
|
261
|
+
type: BooleanConstructor;
|
|
262
|
+
default: boolean;
|
|
263
|
+
};
|
|
244
264
|
/**
|
|
245
265
|
* 是否显示展开/收起按钮
|
|
246
266
|
* 默认 false,可通过开关控制,不受 enableScene 影响
|
|
@@ -300,12 +320,14 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
300
320
|
maxSceneCount: number;
|
|
301
321
|
debounceWait: number;
|
|
302
322
|
refreshDeps: unknown[];
|
|
323
|
+
autoSearch: boolean;
|
|
303
324
|
tableProps: TableProps<any>;
|
|
304
325
|
formatDataSource: (data: any[]) => any[];
|
|
305
326
|
wrapperStyle: Record<string, any>;
|
|
306
327
|
tableWrapperStyle: Record<string, any>;
|
|
307
328
|
customQueryParams: Record<string, any>;
|
|
308
329
|
showRefreshButton: boolean;
|
|
330
|
+
enableAdvancedFilter: boolean;
|
|
309
331
|
defaultScene: SuperTableDefaultSceneConfig | SuperTableDefaultSceneConfig[];
|
|
310
332
|
sceneStorageType: "local" | "api";
|
|
311
333
|
sceneRequest: SuperTableSceneRequestConfig;
|
|
@@ -36,6 +36,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
36
36
|
type: BooleanConstructor;
|
|
37
37
|
default: boolean;
|
|
38
38
|
};
|
|
39
|
+
/** 是否显示高级筛选按钮 */
|
|
40
|
+
showAdvancedFilterButton: {
|
|
41
|
+
type: BooleanConstructor;
|
|
42
|
+
default: boolean;
|
|
43
|
+
};
|
|
39
44
|
/** 表格唯一标识,用于区分不同表格的展开状态 */
|
|
40
45
|
superTableID: {
|
|
41
46
|
type: StringConstructor;
|
|
@@ -45,6 +50,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
45
50
|
search: (...args: any[]) => void;
|
|
46
51
|
reset: (...args: any[]) => void;
|
|
47
52
|
"form-item-change": (...args: any[]) => void;
|
|
53
|
+
"advanced-filter": (...args: any[]) => void;
|
|
48
54
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
49
55
|
/**
|
|
50
56
|
* 查询条件配置映射表
|
|
@@ -81,6 +87,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
81
87
|
type: BooleanConstructor;
|
|
82
88
|
default: boolean;
|
|
83
89
|
};
|
|
90
|
+
/** 是否显示高级筛选按钮 */
|
|
91
|
+
showAdvancedFilterButton: {
|
|
92
|
+
type: BooleanConstructor;
|
|
93
|
+
default: boolean;
|
|
94
|
+
};
|
|
84
95
|
/** 表格唯一标识,用于区分不同表格的展开状态 */
|
|
85
96
|
superTableID: {
|
|
86
97
|
type: StringConstructor;
|
|
@@ -90,6 +101,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
90
101
|
onSearch?: ((...args: any[]) => any) | undefined;
|
|
91
102
|
onReset?: ((...args: any[]) => any) | undefined;
|
|
92
103
|
"onForm-item-change"?: ((...args: any[]) => any) | undefined;
|
|
104
|
+
"onAdvanced-filter"?: ((...args: any[]) => any) | undefined;
|
|
93
105
|
}>, {
|
|
94
106
|
loading: boolean;
|
|
95
107
|
formConfigMap: Record<string, SuperTableFormItem>;
|
|
@@ -97,5 +109,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
97
109
|
enableScene: boolean;
|
|
98
110
|
showExpandButton: boolean;
|
|
99
111
|
showResetButton: boolean;
|
|
112
|
+
showAdvancedFilterButton: boolean;
|
|
100
113
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
101
114
|
export default _default;
|