feffery_antd_components 0.2.2 → 0.2.6
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/DESCRIPTION +1 -1
- package/Project.toml +1 -1
- package/README-en_US.md +1 -1
- package/README.md +1 -1
- package/build/lib/feffery_antd_components/AntdAccordion.py +2 -2
- package/build/lib/feffery_antd_components/AntdCollapse.py +1 -1
- package/build/lib/feffery_antd_components/AntdDraggerUpload.py +4 -0
- package/build/lib/feffery_antd_components/AntdDropdown.py +11 -3
- package/build/lib/feffery_antd_components/AntdPictureUpload.py +4 -0
- package/build/lib/feffery_antd_components/AntdTable.py +12 -5
- package/build/lib/feffery_antd_components/AntdTree.py +11 -3
- package/build/lib/feffery_antd_components/AntdUpload.py +4 -0
- package/build/lib/feffery_antd_components/feffery_antd_components.min.js +1 -1
- package/build/lib/feffery_antd_components/metadata.json +129 -1
- package/build/lib/feffery_antd_components/package-info.json +1 -1
- package/feffery_antd_components/AntdAccordion.py +2 -2
- package/feffery_antd_components/AntdCollapse.py +1 -1
- package/feffery_antd_components/AntdDraggerUpload.py +4 -0
- package/feffery_antd_components/AntdDropdown.py +11 -3
- package/feffery_antd_components/AntdPictureUpload.py +4 -0
- package/feffery_antd_components/AntdTable.py +12 -5
- package/feffery_antd_components/AntdTree.py +11 -3
- package/feffery_antd_components/AntdUpload.py +4 -0
- package/feffery_antd_components/feffery_antd_components.min.js +1 -1
- package/feffery_antd_components/metadata.json +129 -1
- package/feffery_antd_components/package-info.json +1 -1
- package/package.json +1 -1
- package/src/jl/'feffery'_antdaccordion.jl +2 -2
- package/src/jl/'feffery'_antdcollapse.jl +1 -1
- package/src/jl/'feffery'_antddraggerupload.jl +4 -2
- package/src/jl/'feffery'_antddropdown.jl +5 -1
- package/src/jl/'feffery'_antdpictureupload.jl +4 -2
- package/src/jl/'feffery'_antdtable.jl +6 -3
- package/src/jl/'feffery'_antdtree.jl +5 -1
- package/src/jl/'feffery'_antdupload.jl +4 -2
- package/src/lib/components/AntdAccordion.react.js +4 -4
- package/src/lib/components/AntdCollapse.react.js +2 -2
- package/src/lib/components/AntdDropdown.react.js +57 -15
- package/src/lib/components/AntdTable.react.js +126 -92
- package/src/lib/components/AntdTree.react.js +72 -11
- package/src/lib/components/upload/AntdDraggerUpload.react.js +14 -3
- package/src/lib/components/upload/AntdPictureUpload.react.js +14 -3
- package/src/lib/components/upload/AntdUpload.react.js +14 -3
- package/usage.py +131 -48
|
@@ -465,6 +465,7 @@ class AntdTable extends Component {
|
|
|
465
465
|
size,
|
|
466
466
|
mode,
|
|
467
467
|
nClicksButton,
|
|
468
|
+
nDoubleClicksCell,
|
|
468
469
|
summaryRowContents,
|
|
469
470
|
summaryRowFixed,
|
|
470
471
|
customFormatFuncs,
|
|
@@ -820,101 +821,109 @@ class AntdTable extends Component {
|
|
|
820
821
|
}
|
|
821
822
|
// dropdown模式
|
|
822
823
|
else if (columns[i]['renderOptions']['renderType'] === 'dropdown') {
|
|
823
|
-
columns[i]['render'] = (menuItems, record) =>
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
<
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
824
|
+
columns[i]['render'] = (menuItems, record) => {
|
|
825
|
+
// 针对空值进行错误处理
|
|
826
|
+
menuItems = menuItems || []
|
|
827
|
+
return (
|
|
828
|
+
<Dropdown
|
|
829
|
+
overlay={
|
|
830
|
+
<Menu onClick={(item, key, keyPath, domEvent) => {
|
|
831
|
+
setTimeout(function () {
|
|
832
|
+
setProps({
|
|
833
|
+
nClicksDropdownItem: nClicksDropdownItem + 1,
|
|
834
|
+
recentlyClickedDropdownItemTitle: item.key,
|
|
835
|
+
recentlyDropdownItemClickedDataIndex: columns[i].dataIndex,
|
|
836
|
+
recentlyDropdownItemClickedRow: record
|
|
837
|
+
})
|
|
838
|
+
}, 200);
|
|
839
|
+
}}>
|
|
840
|
+
{
|
|
841
|
+
menuItems.map(
|
|
842
|
+
menuItem => (
|
|
843
|
+
menuItem ?
|
|
844
|
+
// 判断isDivider参数是否不为false
|
|
845
|
+
(
|
|
846
|
+
menuItem.isDivider ?
|
|
847
|
+
<Menu.Divider /> :
|
|
848
|
+
<Menu.Item icon={<AntdIcon icon={menuItem.icon} />}
|
|
849
|
+
disabled={menuItem.disabled}
|
|
850
|
+
key={menuItem.title}>
|
|
851
|
+
<a >{menuItem.title}</a>
|
|
852
|
+
</Menu.Item>
|
|
853
|
+
) :
|
|
854
|
+
null
|
|
855
|
+
)
|
|
851
856
|
)
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
</
|
|
870
|
-
|
|
871
|
-
|
|
857
|
+
}
|
|
858
|
+
</Menu>
|
|
859
|
+
}
|
|
860
|
+
arrow={columns[i]['renderOptions']?.dropdownProps?.arrow}
|
|
861
|
+
disabled={columns[i]['renderOptions']?.dropdownProps?.disabled || menuItems.length === 0}
|
|
862
|
+
overlayClassName={columns[i]['renderOptions']?.dropdownProps?.overlayClassName}
|
|
863
|
+
overlayStyle={columns[i]['renderOptions']?.dropdownProps?.overlayStyle}
|
|
864
|
+
placement={columns[i]['renderOptions']?.dropdownProps?.placement}
|
|
865
|
+
trigger={
|
|
866
|
+
columns[i]['renderOptions']?.dropdownProps?.trigger ?
|
|
867
|
+
[columns[i]['renderOptions'].dropdownProps.trigger] : ['hover']
|
|
868
|
+
}
|
|
869
|
+
getPopupContainer={containerId ? () => (document.getElementById(containerId) ? document.getElementById(containerId) : document.body) : undefined}>
|
|
870
|
+
<a className="ant-dropdown-link"
|
|
871
|
+
onClick={e => e.preventDefault()}>
|
|
872
|
+
{columns[i]['renderOptions']?.dropdownProps?.title} <DownOutlined />
|
|
873
|
+
</a>
|
|
874
|
+
</Dropdown>
|
|
875
|
+
);
|
|
876
|
+
}
|
|
872
877
|
}
|
|
873
878
|
// dropdown-links模式
|
|
874
879
|
else if (columns[i]['renderOptions']['renderType'] === 'dropdown-links') {
|
|
875
|
-
columns[i]['render'] = menuItems =>
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
<
|
|
891
|
-
|
|
892
|
-
{menuItem.title}
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
880
|
+
columns[i]['render'] = menuItems => {
|
|
881
|
+
// 针对空值进行错误处理
|
|
882
|
+
menuItems = menuItems || []
|
|
883
|
+
return (
|
|
884
|
+
<Dropdown
|
|
885
|
+
overlay={
|
|
886
|
+
<Menu>
|
|
887
|
+
{
|
|
888
|
+
menuItems.map(
|
|
889
|
+
menuItem => (
|
|
890
|
+
menuItem ?
|
|
891
|
+
// 判断isDivider参数是否不为false
|
|
892
|
+
(
|
|
893
|
+
menuItem.isDivider ?
|
|
894
|
+
<Menu.Divider /> :
|
|
895
|
+
<Menu.Item icon={<AntdIcon icon={menuItem.icon} />}
|
|
896
|
+
disabled={menuItem.disabled}
|
|
897
|
+
key={menuItem.title}>
|
|
898
|
+
<a href={menuItem.href}
|
|
899
|
+
target={'_blank'}>
|
|
900
|
+
{menuItem.title}
|
|
901
|
+
</a>
|
|
902
|
+
</Menu.Item>
|
|
903
|
+
) :
|
|
904
|
+
null
|
|
905
|
+
)
|
|
897
906
|
)
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
</
|
|
916
|
-
|
|
917
|
-
|
|
907
|
+
}
|
|
908
|
+
</Menu>
|
|
909
|
+
}
|
|
910
|
+
arrow={columns[i]['renderOptions']?.dropdownProps?.arrow}
|
|
911
|
+
disabled={columns[i]['renderOptions']?.dropdownProps?.disabled || menuItems.length === 0}
|
|
912
|
+
overlayClassName={columns[i]['renderOptions']?.dropdownProps?.overlayClassName}
|
|
913
|
+
overlayStyle={columns[i]['renderOptions']?.dropdownProps?.overlayStyle}
|
|
914
|
+
placement={columns[i]['renderOptions']?.dropdownProps?.placement}
|
|
915
|
+
trigger={
|
|
916
|
+
columns[i]['renderOptions']?.dropdownProps?.trigger ?
|
|
917
|
+
[columns[i]['renderOptions'].dropdownProps.trigger] : ['hover']
|
|
918
|
+
}
|
|
919
|
+
getPopupContainer={containerId ? () => (document.getElementById(containerId) ? document.getElementById(containerId) : document.body) : undefined}>
|
|
920
|
+
<a className="ant-dropdown-link"
|
|
921
|
+
onClick={e => e.preventDefault()}>
|
|
922
|
+
{columns[i]['renderOptions']?.dropdownProps?.title} <DownOutlined />
|
|
923
|
+
</a>
|
|
924
|
+
</Dropdown>
|
|
925
|
+
);
|
|
926
|
+
}
|
|
918
927
|
}
|
|
919
928
|
// ellipsis-copyable模式
|
|
920
929
|
else if (columns[i]['renderOptions']['renderType'] === 'ellipsis-copyable') {
|
|
@@ -1040,7 +1049,7 @@ class AntdTable extends Component {
|
|
|
1040
1049
|
else if (columns[i]['renderOptions']['renderType'] === 'select') {
|
|
1041
1050
|
columns[i]['render'] = (content, record) => {
|
|
1042
1051
|
const currentDataIndex = columns[i]['dataIndex']
|
|
1043
|
-
//
|
|
1052
|
+
// 针对空值进行错误处理
|
|
1044
1053
|
content = content || {}
|
|
1045
1054
|
return (
|
|
1046
1055
|
<Select
|
|
@@ -1405,6 +1414,13 @@ class AntdTable extends Component {
|
|
|
1405
1414
|
recentlyCellClickRecord: e,
|
|
1406
1415
|
nClicksCell: nClicksCell + 1
|
|
1407
1416
|
})
|
|
1417
|
+
},
|
|
1418
|
+
onDoubleClick: event => {
|
|
1419
|
+
setProps({
|
|
1420
|
+
recentlyCellDoubleClickColumn: currentDataIndex,
|
|
1421
|
+
recentlyCellDoubleClickRecord: e,
|
|
1422
|
+
nDoubleClicksCell: nDoubleClicksCell + 1
|
|
1423
|
+
})
|
|
1408
1424
|
}
|
|
1409
1425
|
};
|
|
1410
1426
|
}
|
|
@@ -1723,6 +1739,9 @@ AntdTable.propTypes = {
|
|
|
1723
1739
|
data: PropTypes.arrayOf(
|
|
1724
1740
|
PropTypes.objectOf(
|
|
1725
1741
|
PropTypes.oneOfType([
|
|
1742
|
+
// 针对向下嵌套children的兼容处理
|
|
1743
|
+
PropTypes.arrayOf(PropTypes.any),
|
|
1744
|
+
|
|
1726
1745
|
// 常规模式、ellipsis模式、copyable模式、custom-format模式、ellipsis-copyable模式
|
|
1727
1746
|
PropTypes.string,
|
|
1728
1747
|
|
|
@@ -1970,7 +1989,10 @@ AntdTable.propTypes = {
|
|
|
1970
1989
|
// 设置选项内容
|
|
1971
1990
|
label: PropTypes.string,
|
|
1972
1991
|
// 设置选项内容的值
|
|
1973
|
-
value: PropTypes.
|
|
1992
|
+
value: PropTypes.oneOfType([
|
|
1993
|
+
PropTypes.string,
|
|
1994
|
+
PropTypes.number
|
|
1995
|
+
])
|
|
1974
1996
|
})
|
|
1975
1997
|
),
|
|
1976
1998
|
// 设置下拉选择菜单像素高度,默认为256
|
|
@@ -2269,6 +2291,7 @@ AntdTable.propTypes = {
|
|
|
2269
2291
|
),
|
|
2270
2292
|
|
|
2271
2293
|
// 记录单元格点击事件
|
|
2294
|
+
// 单击事件
|
|
2272
2295
|
// 记录单元格点击事件对应的字段dataIndex信息
|
|
2273
2296
|
recentlyCellClickColumn: PropTypes.string,
|
|
2274
2297
|
|
|
@@ -2278,6 +2301,16 @@ AntdTable.propTypes = {
|
|
|
2278
2301
|
// 记录单元格单击事件发生的总次数
|
|
2279
2302
|
nClicksCell: PropTypes.number,
|
|
2280
2303
|
|
|
2304
|
+
// 双击事件
|
|
2305
|
+
// 记录单元格点击事件对应的字段dataIndex信息
|
|
2306
|
+
recentlyCellDoubleClickColumn: PropTypes.string,
|
|
2307
|
+
|
|
2308
|
+
// 记录单元格点击事件对应的行记录信息
|
|
2309
|
+
recentlyCellDoubleClickRecord: PropTypes.object,
|
|
2310
|
+
|
|
2311
|
+
// 记录单元格单击事件发生的总次数
|
|
2312
|
+
nDoubleClicksCell: PropTypes.number,
|
|
2313
|
+
|
|
2281
2314
|
// 自定义空数据状态内容
|
|
2282
2315
|
emptyContent: PropTypes.node,
|
|
2283
2316
|
|
|
@@ -2413,6 +2446,7 @@ AntdTable.defaultProps = {
|
|
|
2413
2446
|
expandRowByClick: false,
|
|
2414
2447
|
enableCellClickListenColumns: [],
|
|
2415
2448
|
nClicksCell: 0,
|
|
2449
|
+
nDoubleClicksCell: 0,
|
|
2416
2450
|
cellUpdateOptimize: false,
|
|
2417
2451
|
summaryRowFixed: false,
|
|
2418
2452
|
conditionalStyleFuncs: {},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect, useMemo } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { Tree, Tooltip } from 'antd';
|
|
3
|
+
import { Tree, Tooltip, Dropdown } from 'antd';
|
|
4
4
|
import AntdIcon from './AntdIcon.react';
|
|
5
5
|
import { omitBy, isUndefined, isString, isObject, isArray, cloneDeep } from 'lodash';
|
|
6
6
|
import { flatToTree } from './utils';
|
|
@@ -65,21 +65,18 @@ const AntdTree = (props) => {
|
|
|
65
65
|
const add_leaf_node_icon = (inputTreeData) => {
|
|
66
66
|
if (isObject(inputTreeData)) {
|
|
67
67
|
// 为节点添加tooltip相关参数
|
|
68
|
-
if (inputTreeData.tooltipProps) {
|
|
68
|
+
if (inputTreeData.tooltipProps && isString(inputTreeData.title)) {
|
|
69
69
|
inputTreeData.title = (<Tooltip {...inputTreeData.tooltipProps}>
|
|
70
70
|
{inputTreeData.title}
|
|
71
71
|
</Tooltip>)
|
|
72
72
|
}
|
|
73
|
-
|
|
74
73
|
if (inputTreeData.children) {
|
|
75
74
|
if (isString(inputTreeData.icon)) {
|
|
76
75
|
inputTreeData.icon = <AntdIcon icon={inputTreeData.icon} />
|
|
77
76
|
}
|
|
78
|
-
|
|
79
77
|
for (let i = 0; i < inputTreeData.children.length; i++) {
|
|
80
78
|
inputTreeData.children[i] = add_leaf_node_icon(inputTreeData.children[i])
|
|
81
79
|
}
|
|
82
|
-
|
|
83
80
|
} else {
|
|
84
81
|
if (isString(inputTreeData.icon)) {
|
|
85
82
|
inputTreeData.icon = <AntdIcon icon={inputTreeData.icon} />
|
|
@@ -97,6 +94,7 @@ const AntdTree = (props) => {
|
|
|
97
94
|
}
|
|
98
95
|
|
|
99
96
|
const listenSelect = (e) => {
|
|
97
|
+
console.log('节点选择发生', e)
|
|
100
98
|
setProps({ selectedKeys: e })
|
|
101
99
|
}
|
|
102
100
|
|
|
@@ -217,10 +215,41 @@ const AntdTree = (props) => {
|
|
|
217
215
|
height={height}
|
|
218
216
|
titleRender={(nodeData) => {
|
|
219
217
|
return (
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
218
|
+
nodeData.contextMenu ?
|
|
219
|
+
<Dropdown
|
|
220
|
+
menu={{
|
|
221
|
+
items: nodeData.contextMenu.map(
|
|
222
|
+
itemProps => {
|
|
223
|
+
return {
|
|
224
|
+
...itemProps,
|
|
225
|
+
icon: <AntdIcon icon={itemProps.icon} />
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
),
|
|
229
|
+
// 右键菜单事件监听
|
|
230
|
+
onClick: (e) => {
|
|
231
|
+
// 阻止事件蔓延
|
|
232
|
+
e.domEvent.stopPropagation()
|
|
233
|
+
// 更新相关事件信息
|
|
234
|
+
setProps({
|
|
235
|
+
clickedContextMenu: {
|
|
236
|
+
nodeKey: nodeData.key,
|
|
237
|
+
menuKey: e.key
|
|
238
|
+
}
|
|
239
|
+
})
|
|
240
|
+
}
|
|
241
|
+
}}
|
|
242
|
+
trigger={['contextMenu']}
|
|
243
|
+
>
|
|
244
|
+
<span className={nodeData.className ? `ant-tree-title ${nodeData.className}` : "ant-tree-title"}
|
|
245
|
+
style={nodeData.style}>
|
|
246
|
+
{nodeData.title}
|
|
247
|
+
</span>
|
|
248
|
+
</Dropdown> :
|
|
249
|
+
<span className={nodeData.className ? `ant-tree-title ${nodeData.className}` : "ant-tree-title"}
|
|
250
|
+
style={nodeData.style}>
|
|
251
|
+
{nodeData.title}
|
|
252
|
+
</span>
|
|
224
253
|
);
|
|
225
254
|
}}
|
|
226
255
|
showLeafIcon={false}
|
|
@@ -278,7 +307,19 @@ const PropTreeNodeShape = {
|
|
|
278
307
|
'top', 'left', 'right', 'bottom', 'topLeft',
|
|
279
308
|
'topRight', 'bottomLeft', 'bottomRight'
|
|
280
309
|
])
|
|
281
|
-
})
|
|
310
|
+
}),
|
|
311
|
+
|
|
312
|
+
// 为当前节点设置右键菜单相关参数
|
|
313
|
+
contextMenu: PropTypes.arrayOf(
|
|
314
|
+
PropTypes.exact({
|
|
315
|
+
// 为当前右键菜单选项设置唯一key值
|
|
316
|
+
key: PropTypes.string,
|
|
317
|
+
// 为当前右键菜单项设置标题内容
|
|
318
|
+
label: PropTypes.string,
|
|
319
|
+
// 为当前选项设置前缀图标,同AntdIcon中的icon参数
|
|
320
|
+
icon: PropTypes.string
|
|
321
|
+
})
|
|
322
|
+
)
|
|
282
323
|
};
|
|
283
324
|
|
|
284
325
|
const PropTreeNode = PropTypes.shape(PropTreeNodeShape);
|
|
@@ -326,7 +367,19 @@ const PropFlatNodeShape = {
|
|
|
326
367
|
'top', 'left', 'right', 'bottom', 'topLeft',
|
|
327
368
|
'topRight', 'bottomLeft', 'bottomRight'
|
|
328
369
|
])
|
|
329
|
-
})
|
|
370
|
+
}),
|
|
371
|
+
|
|
372
|
+
// 为当前节点设置右键菜单相关参数
|
|
373
|
+
contextMenu: PropTypes.arrayOf(
|
|
374
|
+
PropTypes.exact({
|
|
375
|
+
// 为当前右键菜单选项设置唯一key值
|
|
376
|
+
key: PropTypes.string,
|
|
377
|
+
// 为当前右键菜单项设置标题内容
|
|
378
|
+
label: PropTypes.string,
|
|
379
|
+
// 为当前选项设置前缀图标,同AntdIcon中的icon参数
|
|
380
|
+
icon: PropTypes.string
|
|
381
|
+
})
|
|
382
|
+
)
|
|
330
383
|
};
|
|
331
384
|
|
|
332
385
|
// 定义参数或属性
|
|
@@ -416,6 +469,14 @@ AntdTree.propTypes = {
|
|
|
416
469
|
// 当节点被拖拽时,监听该节点的key值信息
|
|
417
470
|
draggedNodeKey: PropTypes.string,
|
|
418
471
|
|
|
472
|
+
// 当有节点的右键菜单选项被点击时,监听相关的事件信息
|
|
473
|
+
clickedContextMenu: PropTypes.exact({
|
|
474
|
+
// 记录对应的树节点key值
|
|
475
|
+
nodeKey: PropTypes.string,
|
|
476
|
+
// 记录对应的右键菜单选项key值
|
|
477
|
+
menuKey: PropTypes.string
|
|
478
|
+
}),
|
|
479
|
+
|
|
419
480
|
loading_state: PropTypes.shape({
|
|
420
481
|
/**
|
|
421
482
|
* Determines if the component is loading or not
|
|
@@ -84,7 +84,11 @@ const AntdDraggerUpload = (props) => {
|
|
|
84
84
|
useEffect(() => {
|
|
85
85
|
// 初始化uploadId
|
|
86
86
|
if (!uploadId) {
|
|
87
|
-
|
|
87
|
+
if (defaultFileList && defaultFileList.length > 0) {
|
|
88
|
+
setProps({ uploadId: defaultFileList[0].taskId || uuidv4() })
|
|
89
|
+
} else {
|
|
90
|
+
setProps({ uploadId: uuidv4() })
|
|
91
|
+
}
|
|
88
92
|
}
|
|
89
93
|
}, [])
|
|
90
94
|
|
|
@@ -93,7 +97,8 @@ const AntdDraggerUpload = (props) => {
|
|
|
93
97
|
name: item.fileName,
|
|
94
98
|
status: item.taskStatus,
|
|
95
99
|
uid: item.uid,
|
|
96
|
-
url: item.url
|
|
100
|
+
url: item.url,
|
|
101
|
+
fileSize: item.fileSize
|
|
97
102
|
};
|
|
98
103
|
}));
|
|
99
104
|
|
|
@@ -605,7 +610,13 @@ AntdDraggerUpload.propTypes = {
|
|
|
605
610
|
uid: PropTypes.any,
|
|
606
611
|
|
|
607
612
|
// 可选,用于渲染当前文件的下载链接
|
|
608
|
-
url: PropTypes.string
|
|
613
|
+
url: PropTypes.string,
|
|
614
|
+
|
|
615
|
+
// 标识当前任务的taskId,若设置,则默认会被作为当前组件的uploadId使用
|
|
616
|
+
taskId: PropTypes.string,
|
|
617
|
+
|
|
618
|
+
// 可选,记录文件大小
|
|
619
|
+
fileSize: PropTypes.number
|
|
609
620
|
})
|
|
610
621
|
),
|
|
611
622
|
|
|
@@ -89,7 +89,11 @@ const AntdPictureUpload = (props) => {
|
|
|
89
89
|
useEffect(() => {
|
|
90
90
|
// 初始化uploadId
|
|
91
91
|
if (!uploadId) {
|
|
92
|
-
|
|
92
|
+
if (defaultFileList && defaultFileList.length > 0) {
|
|
93
|
+
setProps({ uploadId: defaultFileList[0].taskId || uuidv4() })
|
|
94
|
+
} else {
|
|
95
|
+
setProps({ uploadId: uuidv4() })
|
|
96
|
+
}
|
|
93
97
|
}
|
|
94
98
|
}, [])
|
|
95
99
|
|
|
@@ -98,7 +102,8 @@ const AntdPictureUpload = (props) => {
|
|
|
98
102
|
name: item.fileName,
|
|
99
103
|
status: item.taskStatus,
|
|
100
104
|
uid: item.uid,
|
|
101
|
-
url: item.url
|
|
105
|
+
url: item.url,
|
|
106
|
+
fileSize: item.fileSize
|
|
102
107
|
};
|
|
103
108
|
}));
|
|
104
109
|
const [previewVisible, setPreviewVisible] = useState(false);
|
|
@@ -633,7 +638,13 @@ AntdPictureUpload.propTypes = {
|
|
|
633
638
|
uid: PropTypes.any,
|
|
634
639
|
|
|
635
640
|
// 可选,用于渲染当前文件的下载链接
|
|
636
|
-
url: PropTypes.string
|
|
641
|
+
url: PropTypes.string,
|
|
642
|
+
|
|
643
|
+
// 标识当前任务的taskId,若设置,则默认会被作为当前组件的uploadId使用
|
|
644
|
+
taskId: PropTypes.string,
|
|
645
|
+
|
|
646
|
+
// 可选,记录文件大小
|
|
647
|
+
fileSize: PropTypes.number
|
|
637
648
|
})
|
|
638
649
|
),
|
|
639
650
|
|
|
@@ -79,7 +79,11 @@ const AntdUpload = (props) => {
|
|
|
79
79
|
useEffect(() => {
|
|
80
80
|
// 初始化uploadId
|
|
81
81
|
if (!uploadId) {
|
|
82
|
-
|
|
82
|
+
if (defaultFileList && defaultFileList.length > 0) {
|
|
83
|
+
setProps({ uploadId: defaultFileList[0].taskId || uuidv4() })
|
|
84
|
+
} else {
|
|
85
|
+
setProps({ uploadId: uuidv4() })
|
|
86
|
+
}
|
|
83
87
|
}
|
|
84
88
|
}, [])
|
|
85
89
|
|
|
@@ -88,7 +92,8 @@ const AntdUpload = (props) => {
|
|
|
88
92
|
name: item.fileName,
|
|
89
93
|
status: item.taskStatus,
|
|
90
94
|
uid: item.uid,
|
|
91
|
-
url: item.url
|
|
95
|
+
url: item.url,
|
|
96
|
+
fileSize: item.fileSize
|
|
92
97
|
};
|
|
93
98
|
}));
|
|
94
99
|
|
|
@@ -552,7 +557,13 @@ AntdUpload.propTypes = {
|
|
|
552
557
|
uid: PropTypes.any,
|
|
553
558
|
|
|
554
559
|
// 可选,用于渲染当前文件的下载链接
|
|
555
|
-
url: PropTypes.string
|
|
560
|
+
url: PropTypes.string,
|
|
561
|
+
|
|
562
|
+
// 标识当前任务的taskId,若设置,则默认会被作为当前组件的uploadId使用
|
|
563
|
+
taskId: PropTypes.string,
|
|
564
|
+
|
|
565
|
+
// 可选,记录文件大小
|
|
566
|
+
fileSize: PropTypes.number
|
|
556
567
|
})
|
|
557
568
|
),
|
|
558
569
|
|