@jswork/antd-components 1.0.207 → 1.0.209
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/main.cjs.js +1 -1
- package/dist/main.cjs.js.map +1 -1
- package/dist/main.d.mts +19 -6
- package/dist/main.d.ts +19 -6
- package/dist/main.esm.js +1 -1
- package/dist/main.esm.js.map +1 -1
- package/dist/style.css.map +1 -1
- package/package.json +1 -1
- package/src/lib/alert.tsx +6 -0
- package/src/lib/table.tsx +38 -23
package/dist/style.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["src/style.scss"],"names":[],"mappings":"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","file":"src/style.scss","sourcesContent":["@charset \"UTF-8\";\n.ant-upload.ant-upload-dragger,\n.ant-upload.ant-upload-drag {\n border: 5px dashed rgba(0, 0, 0, 0.16);\n border-radius: 5px;\n}\n.ant-upload.ant-upload-dragger:hover,\n.ant-upload.ant-upload-drag:hover {\n border: 5px dashed rgba(64, 169, 255, 0.8196078431);\n}\n\n.ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-title-content {\n display: block;\n}\n.ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-title-content .ant-checkbox-wrapper {\n display: flex;\n}\n.ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-title-content .ant-checkbox-wrapper > span:last-child {\n flex: 1;\n}\n\n.ac-input-tags {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n border: 1px solid #eee;\n outline: 1px solid transparent;\n transition: all 0.3s ease-in-out;\n padding: 4px;\n border-radius: 4px;\n gap: 3px;\n}\n.ac-input-tags[data-disabled=true] {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.ac-input-tags:not([data-disabled=true]) {\n border-color: #4096ff;\n outline-color:
|
|
1
|
+
{"version":3,"sources":["src/style.scss"],"names":[],"mappings":"AACA,2DAEE,iCAAsC,CACtC,iBACF,CACA,uEAEE,sCACF,CAEA,4EACE,aACF,CACA,kGACE,YACF,CACA,kHACE,MACF,CAEA,eAGE,kBAAmB,CACnB,qBAAsB,CAItB,iBAAkB,CAPlB,YAAa,CACb,cAAe,CAOf,OAAQ,CAJR,6BAA8B,CAE9B,WAAY,CADZ,8BAIF,CACA,mCAEE,kBAAmB,CADnB,UAEF,CACA,yCACE,oBAAqB,CACrB,qBACF,CACA,oBAGE,iBAAkB,CAFlB,mBAAoB,CACpB,eAEF,CACA,sBACE,uBAAgB,CAAhB,oBAAgB,CAAhB,eAAgB,CAEhB,eAAgB,CADhB,WAAY,CAIZ,WAAY,CAFZ,YAAa,CACb,WAEF,CAEA,iBAEE,sBAAuB,CACvB,iBAAkB,CAFlB,UAAW,CAGX,6BACF,CACA,0BACE,YAAa,CACb,UACF,CACA,uBAEE,yBAA0B,CAD1B,6BAAoC,CAKpC,WAAY,CAHZ,iBAAkB,CAElB,UAAW,CADX,YAGF,CACA,2BAME,oCAAqC,CALrC,QAAS,CAET,iBAAkB,CADlB,OAAQ,CAER,8BAAgC,CAChC,mCAEF,CACA,sCACE,UAAY,CACZ,mBACF,CACA,gCAQE,kBAAmB,CAFnB,6BAA8B,CAC9B,8BAA+B,CAE/B,UAAW,CACX,wJAA6K,CAC7K,eAAiB,CANjB,0BAA8B,CAJ9B,iBAAkB,CAClB,UAAW,CACX,KAAM,CACN,UAQF,CACA,+BAOE,6BAAoC,CANpC,WAAY,CASZ,iBAAkB,CAFlB,yCAA8C,CAF9C,gBAAiB,CAJjB,iBAAkB,CAElB,SAAU,CACV,KAAM,CAIN,cAAgB,CANhB,UAQF,CACA,sCACE,eACF,CAEA,kBAEE,kBAAmB,CADnB,wBAAiB,CAAjB,qBAAiB,CAAjB,gBAEF,CACA,4BAEE,UAAY,CADZ,mBAEF,CACA,4CACE,kBACF,CACA,6BACE,eACF,CAEA,uBACE,yCAA0C,CAC1C,2CACF,CACA,oCACE,iBACF,CACA,mCAEE,mDAAoD,CADpD,eAEF,CACA,6DACE,iDACF,CAEA,uBACE,oBACF,CACA,gCAIE,kBAAmB,CADnB,mBAAoB,CAEpB,6BAA8B,CAJ9B,iBAAkB,CAClB,iBAIF,CACA,gCAEE,iBAAkB,CADlB,iBAEF,CACA,8BACE,MACF,CACA,oCAEE,eAAgB,CADhB,wBAAyB,CAEzB,iBACF,CACA,+BACE,cAAe,CACf,gBACF,CACA,6BAIE,cAAe,CAEf,oBAAqB,CAJrB,WAAY,CACZ,UAAY,CAEZ,iBAAkB,CAJlB,UAMF,CACA,mCACE,SACF,CACA,uEAME,qBAAsB,CAHtB,UAAW,CACX,WAAY,CAFZ,MAAO,CADP,iBAAkB,CAIlB,SAEF,CACA,oCACE,uBACF,CACA,mCACE,wBACF,CACA,8BAME,cAAe,CAFf,WAAY,CAFZ,eAAgB,CAGhB,UAAY,CAJZ,iBAAkB,CAElB,UAIF,CACA,oCACE,SACF,CACA,yEAME,qBAAsB,CAHtB,UAAW,CACX,WAAY,CAFZ,MAAO,CADP,iBAAkB,CAIlB,SAEF,CACA,qCACE,uBACF,CACA,oCACE,wBACF,CAOA,4JAEE,6BAA8B,CAC9B,0BAA4B,CAE5B,6CAA+C,CAD/C,4CAEF,CACA,wDACE,wBAAiB,CAAjB,qBAAiB,CAAjB,gBACF,CACA,oFAGE,kCACF,CACA,+BAEE,iBAAkB,CADlB,WAEF,CACA,uCAEE,WAAY,CADZ,UAEF,CAEA,4BAEE,kBAAmB,CADnB,mBAAoB,CAEpB,6BACF,CACA,sCACE,eAAgB,CAChB,sBACF,CAEA,mBACE,gCACF,CAEA,uBAEE,cAAe,CADf,wBAAiB,CAAjB,qBAAiB,CAAjB,gBAEF","file":"src/style.scss","sourcesContent":["@charset \"UTF-8\";\n.ant-upload.ant-upload-dragger,\n.ant-upload.ant-upload-drag {\n border: 5px dashed rgba(0, 0, 0, 0.16);\n border-radius: 5px;\n}\n.ant-upload.ant-upload-dragger:hover,\n.ant-upload.ant-upload-drag:hover {\n border: 5px dashed rgba(64, 169, 255, 0.8196078431);\n}\n\n.ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-title-content {\n display: block;\n}\n.ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-title-content .ant-checkbox-wrapper {\n display: flex;\n}\n.ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-title-content .ant-checkbox-wrapper > span:last-child {\n flex: 1;\n}\n\n.ac-input-tags {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n border: 1px solid #eee;\n outline: 1px solid transparent;\n transition: all 0.3s ease-in-out;\n padding: 4px;\n border-radius: 4px;\n gap: 3px;\n}\n.ac-input-tags[data-disabled=true] {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.ac-input-tags:not([data-disabled=true]) {\n border-color: #4096ff;\n outline-color: rgb(115, 178.0366492147, 255);\n}\n.ac-input-tags__tag {\n display: inline-flex;\n padding: 2px 4px;\n border-radius: 6px;\n}\n.ac-input-tags__input {\n appearance: none;\n border: none;\n background: none;\n outline: none;\n width: 100px;\n height: 26px;\n}\n\n.react-codeflask {\n width: 100%;\n outline: 1px solid #ccc;\n position: relative;\n --codeflask-loading-size: 40px;\n}\n.react-codeflask [hidden] {\n display: none;\n z-index: -1;\n}\n.react-codeflask__spin {\n background: rgba(255, 255, 255, 0.1);\n backdrop-filter: blur(2px);\n position: absolute;\n z-index: 1000;\n width: 100%;\n height: 100%;\n}\n.react-codeflask__spin > img {\n left: 50%;\n top: 50%;\n position: absolute;\n transform: translate(-50%, -50%);\n width: var(--codeflask-loading-size);\n height: var(--codeflask-loading-size);\n}\n.react-codeflask[disabled] > .is-editor {\n opacity: 0.6;\n pointer-events: none;\n}\n.react-codeflask > .language-name {\n position: absolute;\n right: 40px;\n top: 0;\n z-index: 10;\n padding: 0.1rem 0.3rem 0.15rem;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n background: #627eee;\n color: #eee;\n font-family: \"JetBrains Mono\", Monaco, monospace, sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\";\n font-size: 0.7rem;\n}\n.react-codeflask .is-formatter {\n border: none;\n position: absolute;\n z-index: 10;\n right: 2px;\n top: 0;\n padding: 3px 10px;\n background: rgba(255, 255, 255, 0.6);\n box-shadow: 0 1px 6px 0 rgba(32, 33, 36, 0.28);\n transition: 0.3s;\n border-radius: 4px;\n}\n.react-codeflask .is-formatter:active {\n background: #ddd;\n}\n\n.ac-checkable-tag {\n user-select: none;\n background: #ededed;\n}\n.ac-checkable-tag[disabled] {\n pointer-events: none;\n opacity: 0.7;\n}\n.ac-checkable-tag.ant-tag-checkable-checked {\n background: #1677ff;\n}\n.ac-checkable-tag > [role=img] {\n margin-left: 2px;\n}\n\n.ac-checkable-tag-list {\n --ac-checkable-tag-list-active-bg: #1677ff;\n --ac-checkable-tag-list-inactive-bg: #ededed;\n}\n.ac-checkable-tag-list .ac-is-aside {\n border-radius: 3px;\n}\n.ac-checkable-tag-list .ac-is-item {\n padding: 1px 7px;\n background: var(--ac-checkable-tag-list-inactive-bg);\n}\n.ac-checkable-tag-list .ac-is-item.ant-tag-checkable-checked {\n background: var(--ac-checkable-tag-list-active-bg);\n}\n\n.ac-editable-tag-group {\n display: inline-block;\n}\n.ac-editable-tag-group .ant-tag {\n margin-bottom: 5px;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n}\n.ac-editable-tag-group .ant-btn {\n position: relative;\n padding-left: 15px;\n}\n.ac-editable-tag-group__input {\n flex: 1;\n}\n.ac-editable-tag-group__input input {\n border-color: transparent;\n background: none;\n text-align: center;\n}\n.ac-editable-tag-group__create {\n font-size: 12px;\n line-height: 22px;\n}\n.ac-editable-tag-group__plus {\n width: 10px;\n height: 10px;\n opacity: 0.3;\n cursor: pointer;\n position: relative;\n display: inline-block;\n}\n.ac-editable-tag-group__plus:hover {\n opacity: 1;\n}\n.ac-editable-tag-group__plus:before, .ac-editable-tag-group__plus:after {\n position: absolute;\n left: 0;\n content: \"\";\n height: 10px;\n width: 1px;\n background-color: #333;\n}\n.ac-editable-tag-group__plus:before {\n transform: rotate(90deg);\n}\n.ac-editable-tag-group__plus:after {\n transform: rotate(180deg);\n}\n.ac-editable-tag-group__close {\n position: relative;\n margin-left: 3px;\n width: 10px;\n height: 10px;\n opacity: 0.3;\n cursor: pointer;\n}\n.ac-editable-tag-group__close:hover {\n opacity: 1;\n}\n.ac-editable-tag-group__close:before, .ac-editable-tag-group__close:after {\n position: absolute;\n left: 0;\n content: \"\";\n height: 10px;\n width: 1px;\n background-color: #333;\n}\n.ac-editable-tag-group__close:before {\n transform: rotate(45deg);\n}\n.ac-editable-tag-group__close:after {\n transform: rotate(-45deg);\n}\n\n.ac-upload-picture-card {\n /**\n 定义 css 变量,可以改变 image-item 的大小\n */\n}\n.ac-upload-picture-card .ant-upload-list.ant-upload-list-picture-card .ant-upload-list-item-container,\n.ac-upload-picture-card .ant-upload.ant-upload-select {\n --ac-upload-images-size: 102px;\n border-width: 3px !important;\n width: var(--ac-upload-images-size) !important;\n height: var(--ac-upload-images-size) !important;\n}\n.ac-upload-picture-card .ant-upload-list-item-container {\n user-select: none;\n}\n.ac-upload-picture-card .ant-upload-list-item-container:hover .ant-upload-list-item {\n border-width: 2px !important;\n border-style: dashed !important;\n border-color: orange !important;\n}\n.ac-upload-picture-card__modal {\n width: 800px;\n text-align: center;\n}\n.ac-upload-picture-card__modal .is-img {\n width: 100%;\n height: 100%;\n}\n\n.ac-checkable-dropdown__btn {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n}\n.ac-checkable-dropdown__btn .is-label {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.ac-upload-picture {\n --ac-upload-picture-height: 120px;\n}\n\n.ac-input-token__token {\n user-select: none;\n cursor: pointer;\n}"]}
|
package/package.json
CHANGED
package/src/lib/alert.tsx
CHANGED
|
@@ -5,6 +5,7 @@ declare global {
|
|
|
5
5
|
interface NxStatic {
|
|
6
6
|
err: (inMessage: string) => any;
|
|
7
7
|
msg: (inMessage: string) => any;
|
|
8
|
+
info: (inMessage: string) => any;
|
|
8
9
|
alert: (inMessage: string, inTitle?: String) => any;
|
|
9
10
|
confirm: (inMessage: string, inTitle?: String) => any;
|
|
10
11
|
prompt: (inMessage: string, inOptions?: InputProps) => any;
|
|
@@ -15,6 +16,10 @@ export const msg = (inMessage: string) => {
|
|
|
15
16
|
return message.success(inMessage);
|
|
16
17
|
};
|
|
17
18
|
|
|
19
|
+
export const info = (inMessage: string) => {
|
|
20
|
+
return message.info(inMessage);
|
|
21
|
+
};
|
|
22
|
+
|
|
18
23
|
export const err = (inMessage: string) => {
|
|
19
24
|
return message.error(inMessage);
|
|
20
25
|
};
|
|
@@ -59,6 +64,7 @@ export const prompt = (inMessage: string, inOptions?: InputProps) => {
|
|
|
59
64
|
};
|
|
60
65
|
|
|
61
66
|
nx.msg = msg;
|
|
67
|
+
nx.info = info;
|
|
62
68
|
nx.err = err;
|
|
63
69
|
nx.alert = alert;
|
|
64
70
|
nx.confirm = confirm;
|
package/src/lib/table.tsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @Author: aric 1290657123@qq.com
|
|
3
3
|
* @Date: 2025-10-03 07:11:26
|
|
4
|
-
* @LastEditors: aric
|
|
5
|
-
* @LastEditTime: 2025-
|
|
4
|
+
* @LastEditors: aric 1290657123@qq.com
|
|
5
|
+
* @LastEditTime: 2025-11-01 10:44:40
|
|
6
6
|
*
|
|
7
7
|
*
|
|
8
8
|
* 路由风格: /{module}/{name} eg: /admin/staff-roles
|
|
@@ -10,15 +10,16 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import type { EventMittNamespace } from '@jswork/event-mitt';
|
|
12
12
|
import { ReactHarmonyEvents } from '@jswork/harmony-events';
|
|
13
|
+
import nx from '@jswork/next';
|
|
14
|
+
import '@jswork/next-compact-object';
|
|
15
|
+
import '@jswork/next-create-fetcher';
|
|
13
16
|
import UrlSyncFlat from '@jswork/url-sync-flat';
|
|
14
17
|
import { Table, TableProps } from 'antd';
|
|
18
|
+
import { ColumnsType } from 'antd/es/table';
|
|
15
19
|
import cx from 'classnames';
|
|
20
|
+
import deepEqual from 'fast-deep-equal';
|
|
16
21
|
import React from 'react';
|
|
17
|
-
import nx from '@jswork/next';
|
|
18
|
-
import '@jswork/next-create-fetcher';
|
|
19
|
-
import '@jswork/next-compact-object';
|
|
20
22
|
import { tableAction } from './table-links';
|
|
21
|
-
import deepEqual from 'fast-deep-equal';
|
|
22
23
|
|
|
23
24
|
type NavigateFunction = import('react-router-dom').NavigateFunction;
|
|
24
25
|
|
|
@@ -62,7 +63,18 @@ export type AcTableProps = TableProps & {
|
|
|
62
63
|
* `paramsEdit` will merge with `paramsAdd` when redirect to edit page.
|
|
63
64
|
*/
|
|
64
65
|
paramsEdit?: Record<string, any>;
|
|
65
|
-
|
|
66
|
+
/**
|
|
67
|
+
* The extra params when reset the page.
|
|
68
|
+
*/
|
|
69
|
+
paramsReset?: Record<string, any>;
|
|
70
|
+
/**
|
|
71
|
+
* Use custom router path for add page.
|
|
72
|
+
*/
|
|
73
|
+
pathAdd?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Use custom router path for edit page.
|
|
76
|
+
*/
|
|
77
|
+
pathEdit?: string;
|
|
66
78
|
/**
|
|
67
79
|
* Custom get standard data.
|
|
68
80
|
* @param params { current: number; pageSize: number }
|
|
@@ -110,7 +122,7 @@ export type AcTableProps = TableProps & {
|
|
|
110
122
|
/**
|
|
111
123
|
* Column fields for table action.
|
|
112
124
|
*/
|
|
113
|
-
columnsAction?:
|
|
125
|
+
columnsAction?: ColumnsType<any>;
|
|
114
126
|
/**
|
|
115
127
|
* The table action params.
|
|
116
128
|
*/
|
|
@@ -128,7 +140,7 @@ type AcTableState = {
|
|
|
128
140
|
current: any;
|
|
129
141
|
pageSize: any;
|
|
130
142
|
total: any;
|
|
131
|
-
}
|
|
143
|
+
};
|
|
132
144
|
|
|
133
145
|
export class AcTable extends React.Component<AcTableProps, AcTableState> {
|
|
134
146
|
static displayName = CLASS_NAME;
|
|
@@ -228,11 +240,13 @@ export class AcTable extends React.Component<AcTableProps, AcTableState> {
|
|
|
228
240
|
// 优先级:overrideParams > propsParams > currentUrlParams
|
|
229
241
|
// 注意:这里不包含 page 和 size,它们将作为独立参数处理
|
|
230
242
|
const filterParams = nx.compactObject(
|
|
231
|
-
overrideParams === null
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
243
|
+
overrideParams === null
|
|
244
|
+
? propsParams
|
|
245
|
+
: {
|
|
246
|
+
...currentUrlParams, // 从 URL 读取的现有参数
|
|
247
|
+
...propsParams, // 组件 props 中定义的固定参数
|
|
248
|
+
...overrideParams, // 动态传入的覆盖参数(例如搜索关键字)
|
|
249
|
+
}
|
|
236
250
|
);
|
|
237
251
|
|
|
238
252
|
// 3. 确保 page 和 size 是明确的,并从 filterParams 中移除它们,
|
|
@@ -241,7 +255,6 @@ export class AcTable extends React.Component<AcTableProps, AcTableState> {
|
|
|
241
255
|
const finalSize = size;
|
|
242
256
|
const { page: _, size: __, ...fetcherFilterParams } = filterParams as Record<string, any>;
|
|
243
257
|
|
|
244
|
-
|
|
245
258
|
// 4. 更新组件状态:加载中、当前页和每页大小
|
|
246
259
|
this.setState({
|
|
247
260
|
isLoading: true,
|
|
@@ -252,8 +265,8 @@ export class AcTable extends React.Component<AcTableProps, AcTableState> {
|
|
|
252
265
|
// 5. 同步 URL 参数:合并所有过滤参数,并明确设置 page 和 size
|
|
253
266
|
this.sync.schedule({
|
|
254
267
|
...filterParams, // 所有过滤参数
|
|
255
|
-
page: finalPage,
|
|
256
|
-
size: finalSize,
|
|
268
|
+
page: finalPage, // 明确的当前页
|
|
269
|
+
size: finalSize, // 明确的每页大小
|
|
257
270
|
});
|
|
258
271
|
|
|
259
272
|
try {
|
|
@@ -306,7 +319,7 @@ export class AcTable extends React.Component<AcTableProps, AcTableState> {
|
|
|
306
319
|
* Reset to default state, and fetch data.
|
|
307
320
|
*/
|
|
308
321
|
public reset = async () => {
|
|
309
|
-
const { defaultCurrent, defaultPageSize } = this.props;
|
|
322
|
+
const { defaultCurrent, defaultPageSize, paramsReset } = this.props;
|
|
310
323
|
this.setState(
|
|
311
324
|
{
|
|
312
325
|
current: defaultCurrent,
|
|
@@ -315,8 +328,8 @@ export class AcTable extends React.Component<AcTableProps, AcTableState> {
|
|
|
315
328
|
dataSource: [],
|
|
316
329
|
},
|
|
317
330
|
() => {
|
|
318
|
-
void this.fetchData(defaultCurrent!, defaultPageSize!,
|
|
319
|
-
}
|
|
331
|
+
void this.fetchData(defaultCurrent!, defaultPageSize!, paramsReset);
|
|
332
|
+
}
|
|
320
333
|
);
|
|
321
334
|
};
|
|
322
335
|
|
|
@@ -355,8 +368,9 @@ export class AcTable extends React.Component<AcTableProps, AcTableState> {
|
|
|
355
368
|
* CURD(page): Redirect to add page.
|
|
356
369
|
*/
|
|
357
370
|
public add = () => {
|
|
358
|
-
const { module, paramsAdd } = this.props;
|
|
371
|
+
const { module, paramsAdd, pathAdd } = this.props;
|
|
359
372
|
const qs = this.toQueryString(paramsAdd);
|
|
373
|
+
if(pathAdd) return nx.$nav?.(pathAdd);
|
|
360
374
|
nx.$nav?.(`/${module}/${this.routerKey}/add${qs}`);
|
|
361
375
|
};
|
|
362
376
|
|
|
@@ -364,8 +378,9 @@ export class AcTable extends React.Component<AcTableProps, AcTableState> {
|
|
|
364
378
|
* CURD(page): Redirect to edit page.
|
|
365
379
|
*/
|
|
366
380
|
public edit = (item: any) => {
|
|
367
|
-
const { module, rowKey, paramsEdit } = this.props;
|
|
381
|
+
const { module, rowKey, paramsEdit, pathEdit } = this.props;
|
|
368
382
|
const qs = this.toQueryString(paramsEdit);
|
|
383
|
+
if(pathEdit) return nx.$nav?.(pathEdit);
|
|
369
384
|
nx.$nav?.(`/${module}/${this.routerKey}/${item[rowKey as string]}/edit${qs}`);
|
|
370
385
|
};
|
|
371
386
|
|
|
@@ -391,6 +406,7 @@ export class AcTable extends React.Component<AcTableProps, AcTableState> {
|
|
|
391
406
|
params,
|
|
392
407
|
paramsAdd,
|
|
393
408
|
paramsEdit,
|
|
409
|
+
paramsReset,
|
|
394
410
|
fetcher,
|
|
395
411
|
dataPath,
|
|
396
412
|
totalPath,
|
|
@@ -426,4 +442,3 @@ export class AcTable extends React.Component<AcTableProps, AcTableState> {
|
|
|
426
442
|
);
|
|
427
443
|
}
|
|
428
444
|
}
|
|
429
|
-
|