@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 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 | - | 自定义组件(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 | 是否显示标签 |
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 | 查询条件配置 | `SuperTableFormItem[]` | `[]` |
676
- | columns | 表格列配置 | `SuperTableColumn[]` | `[]` |
677
- | request | 数据请求函数 | `SuperTableRequestFunction` | - |
678
- | sceneType | 场景类型 | `string` | `''` |
679
- | enableScene | 是否启用场景管理 | `boolean` | `true` |
680
- | sceneStorageType | 场景存储位置 | `'local' | 'api'` | `'local'` |
681
- | sceneRequest | 场景请求函数配置 | `SceneRequestConfig` | - |
682
- | defaultScene | 默认场景配置 | `SuperTableDefaultSceneConfig | SuperTableDefaultSceneConfig[]` | - |
683
- | maxSceneCount | 最大场景数量 | `number` | `100` |
684
- | formItemColSpan | 查询条件列数 | `number` | `6` |
685
- | debounceWait | 查询防抖时间(ms) | `number` | `100` |
686
- | refreshDeps | 依赖刷新选项 | `any[]` | `[]` |
687
- | tableProps | 表格属性 | `TableProps` | `{}` |
688
- | formatDataSource | 转换表格数据 | `(data: any[]) => any[]` | `(data) => data` |
689
- | sortable | 是否可排序 | `boolean` | `false` |
690
- | wrapperStyle | 容器样式 | `object` | `{}` |
691
- | tableWrapperStyle | 表格容器样式 | `object` | `{}` |
692
- | customQueryParams | 默认查询条件 | `object` | `{}` |
693
- | showRefreshButton | 展示刷新按钮 | `boolean` | `false` |
694
- | enableTableConfig | 开启表格设置 | `boolean` | `true` |
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
 
@@ -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;