@hw-component/table 1.2.6 → 1.2.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.
Files changed (38) hide show
  1. package/.eslintcache +1 -1
  2. package/es/HTableBody/Options/utils.d.ts +1 -0
  3. package/es/HTableBody/RowSelection.js +3 -3
  4. package/es/HTableBody/hooks.js +5 -7
  5. package/es/TableConfig.d.ts +4 -2
  6. package/es/TableConfig.js +5 -2
  7. package/es/modal.d.ts +4 -3
  8. package/es/render/TagsComponent.d.ts +20 -0
  9. package/es/render/TagsComponent.js +123 -0
  10. package/es/render/config.d.ts +11 -0
  11. package/es/render/config.js +137 -0
  12. package/es/render/index.d.ts +5 -0
  13. package/es/render/index.js +25 -0
  14. package/lib/HTableBody/Options/utils.d.ts +1 -0
  15. package/lib/HTableBody/RowSelection.js +3 -3
  16. package/lib/HTableBody/hooks.js +5 -7
  17. package/lib/TableConfig.d.ts +4 -2
  18. package/lib/TableConfig.js +5 -2
  19. package/lib/modal.d.ts +4 -3
  20. package/lib/render/TagsComponent.d.ts +20 -0
  21. package/lib/render/TagsComponent.js +126 -0
  22. package/lib/render/config.d.ts +11 -0
  23. package/lib/render/config.js +140 -0
  24. package/lib/render/index.d.ts +5 -0
  25. package/lib/render/index.js +28 -0
  26. package/package.json +2 -1
  27. package/src/components/HTableBody/RowSelection.tsx +10 -8
  28. package/src/components/HTableBody/hooks.tsx +5 -8
  29. package/src/components/HTableBody/index.tsx +64 -67
  30. package/src/components/HTableHeader/index.tsx +4 -2
  31. package/src/components/HTablePagination/index.tsx +4 -2
  32. package/src/components/Table.tsx +9 -4
  33. package/src/components/TableConfig.tsx +19 -12
  34. package/src/components/modal.ts +11 -3
  35. package/src/components/render/TagsComponent.tsx +122 -0
  36. package/src/components/render/config.tsx +110 -0
  37. package/src/components/render/index.tsx +25 -0
  38. package/src/pages/Table/index.tsx +160 -80
@@ -1,5 +1,5 @@
1
- import { HTable, useHTable ,HTableConfig} from "@/components";
2
- import {Button, Card, Tooltip} from "antd";
1
+ import { HTable, useHTable, HTableConfig } from "@/components";
2
+ import { Button, Card, Tooltip } from "antd";
3
3
  import { HFormConfigProvider } from "@hw-component/form";
4
4
  import { SettingOutlined } from "@ant-design/icons";
5
5
 
@@ -35,17 +35,83 @@ const configData = [
35
35
  itemProps: {
36
36
  options: [{ label: "1", value: 1 }],
37
37
  },
38
+ valueType: "date",
38
39
  },
39
40
  {
40
41
  title: <div>座位fff</div>,
41
42
  titleStr: "座位",
42
43
  dataIndex: "name2",
43
44
  searchType: "select",
44
- sorter: true,
45
45
  itemProps: {
46
46
  options: [{ label: "name2", value: 1 }],
47
47
  },
48
48
  },
49
+ {
50
+ title: <div>标签</div>,
51
+ dataIndex: "tag",
52
+ sorter: true,
53
+ valueType: "tags",
54
+ width: 200,
55
+ valueTypeProps: {
56
+ closable: true,
57
+ tooltip: true,
58
+ onClose: (key) => {
59
+ console.log(key);
60
+ },
61
+ maxLen: 2,
62
+ },
63
+ },
64
+ {
65
+ title: "可以复制",
66
+ dataIndex: "copy",
67
+ sorter: true,
68
+ valueType: "copy",
69
+ width: 200,
70
+ valueTypeProps: {
71
+ text: () => {
72
+ return "你大爷";
73
+ },
74
+ },
75
+ },
76
+ {
77
+ title: "link",
78
+ dataIndex: "link",
79
+ sorter: true,
80
+ valueType: "link",
81
+ width: 200,
82
+ valueTypeProps: {
83
+ href: () => {
84
+ return "https://ant-design.antgroup.com/docs/react/i18n-cn";
85
+ },
86
+ },
87
+ },
88
+ {
89
+ title: "text",
90
+ dataIndex: "text",
91
+ sorter: true,
92
+ valueType: "text",
93
+ width: 80,
94
+ valueTypeProps: {
95
+ type: "secondary",
96
+ ellipsis: {
97
+ tooltip: true,
98
+ },
99
+ },
100
+ },
101
+ {
102
+ title: "userInfo",
103
+ dataIndex: "userInfo",
104
+ sorter: true,
105
+ valueType: "userInfo",
106
+ width: 80,
107
+ },
108
+ {
109
+ title: "avatar",
110
+ dataIndex: "avatar",
111
+ sorter: true,
112
+ valueType: "avatar",
113
+ width: 80,
114
+ },
49
115
  {
50
116
  title: "操作",
51
117
  name: "aaa",
@@ -63,9 +129,7 @@ const Test = ({ name, selectedRowData }) => {
63
129
  export default () => {
64
130
  const hTable = useHTable();
65
131
  return (
66
- <HFormConfigProvider
67
-
68
- >
132
+ <HFormConfigProvider>
69
133
  <div>
70
134
  <div
71
135
  onClick={() => {
@@ -74,84 +138,100 @@ export default () => {
74
138
  >
75
139
  获取
76
140
  </div>
77
- <HTableConfig>
141
+ <HTableConfig
142
+ valueTypeConfig={{
143
+ userInfo: () => {
144
+ return <div>userInfo</div>;
145
+ },
146
+ }}
147
+ >
78
148
  <HTable
79
- configData={configData}
80
- rowKey={(data,index)=>{
81
- return index;
82
- }}
83
- table={hTable}
84
- onReset={() => {
85
- hTable.form.setFieldsValue({
86
- name1: "ffff",
149
+ configData={configData}
150
+ rowKey={(data, index) => {
151
+ return index;
152
+ }}
153
+ table={hTable}
154
+ onReset={() => {
155
+ hTable.form.setFieldsValue({
156
+ name1: "ffff",
157
+ });
158
+ }}
159
+ hideLabel={false}
160
+ labelWidth={88}
161
+ action={{
162
+ test: (params) => {
163
+ console.log(params, "lllll");
164
+ },
165
+ }}
166
+ rowSelection={{
167
+ allPageCheck: false,
168
+ }}
169
+ affixProps={{
170
+ target: () => document.querySelector(".body"),
171
+ }}
172
+ scroll={{
173
+ x: 1000,
174
+ }}
175
+ columnsState={{
176
+ persistenceKey: "test",
177
+ persistenceType: "localStorage",
178
+ }}
179
+ formInitValues={{
180
+ name2: 1,
181
+ }}
182
+ headerTitle={
183
+ <Button
184
+ type={"primary"}
185
+ onClick={() => {
186
+ console.log(hTable.table.getColSettingKeys());
187
+ }}
188
+ >
189
+ 操作
190
+ </Button>
191
+ }
192
+ paginationActionRender={() => {
193
+ return <div>你大爷</div>;
194
+ }}
195
+ request={(params) => {
196
+ const { current = 1, size = "10" } = params;
197
+ const arrayData = [];
198
+ for (let i = 0; i < 100; i = i + 1) {
199
+ arrayData.push({
200
+ id: i,
201
+ name: "11",
202
+ name1: "1721730221",
203
+ tag: [
204
+ { value: "1", label: "你好" },
205
+ { value: "2", label: "你好1" },
206
+ { value: "3", label: "你好2" },
207
+ ],
208
+ copy: "复制",
209
+ link: "https://www.baidu.com/",
210
+ text: "文本文本文本文本",
211
+ avatar:"https://img-1304033052.cos.ap-chengdu.myqcloud.com/b75979ace44aed0928f4e359709f60e6"
87
212
  });
88
- }}
89
- hideLabel={false}
90
- labelWidth={88}
91
- action={{
92
- test: (params) => {
93
- console.log(params, "lllll");
94
- },
95
- }}
96
- rowSelection={{
97
- allPageCheck: false,
98
- }}
99
- affixProps={{
100
- target: () => document.querySelector(".body"),
101
- }}
102
- scroll={{
103
- x: 1000,
104
- }}
105
- columnsState={{
106
- persistenceKey: "test",
107
- persistenceType: "localStorage",
108
- }}
109
- formInitValues={{
110
- name2: 1,
111
- }}
112
- headerTitle={
113
- <Button
114
- type={"primary"}
115
- onClick={() => {
116
- console.log(hTable.table.getColSettingKeys());
117
- }}
118
- >
119
- 操作
120
- </Button>
121
213
  }
122
- paginationActionRender={() => {
123
- return <div>你大爷</div>;
124
- }}
125
- request={(params) => {
126
- const { current = 1, size = "10" } = params;
127
- const arrayData = [];
128
- for (let i = 0; i < 100; i = i + 1) {
129
- arrayData.push({
130
- id: i,
131
- name: "11",
214
+ return new Promise((resolve, reject) => {
215
+ setTimeout(() => {
216
+ // reject(new Error("错误"));
217
+ resolve({
218
+ size: size,
219
+ current: current.toString(10),
220
+ total: "1000",
221
+ records: arrayData,
132
222
  });
133
- }
134
- return new Promise((resolve, reject) => {
135
- setTimeout(() => {
136
- // reject(new Error("错误"));
137
- resolve({
138
- size: size,
139
- current: current.toString(10),
140
- total: "1000",
141
- records: arrayData,
142
- });
143
- }, 2000);
144
- });
145
- }}
146
- options={{
147
- settingRender: () => {
148
- return (
149
- <Tooltip title="321312312312321">
150
- <SettingOutlined width={24} />
151
- </Tooltip>
152
- );
153
- },
154
- }}
223
+ }, 2000);
224
+ });
225
+ }}
226
+ options={{
227
+ settingRender: () => {
228
+ return (
229
+ <Tooltip title="321312312312321">
230
+ <SettingOutlined width={24} />
231
+ </Tooltip>
232
+ );
233
+ },
234
+ }}
155
235
  />
156
236
  </HTableConfig>
157
237
  </div>