vxe-pc-ui 4.6.9 → 4.6.10
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/es/button/src/button.js +2 -4
- package/es/form/render/index.js +2 -4
- package/es/form/src/form.js +97 -37
- package/es/form-design/src/form-view.js +1 -3
- package/es/icon/style.css +1 -1
- package/es/list-design/src/layout-preview.js +5 -7
- package/es/list-design/src/list-view.js +5 -7
- package/es/modal/src/modal.js +2 -4
- package/es/pager/src/pager.js +1 -3
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/src/table-select.js +5 -7
- package/es/tabs/src/tabs.js +2 -6
- package/es/tree/src/tree.js +238 -173
- package/es/ui/index.js +3 -7
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +5 -7
- package/lib/button/src/button.js +2 -4
- package/lib/button/src/button.min.js +1 -1
- package/lib/form/render/index.js +2 -4
- package/lib/form/render/index.min.js +1 -1
- package/lib/form/src/form.js +95 -36
- package/lib/form/src/form.min.js +1 -1
- package/lib/form-design/src/form-view.js +1 -3
- package/lib/form-design/src/form-view.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +422 -275
- package/lib/index.umd.min.js +1 -1
- package/lib/list-design/src/layout-preview.js +5 -7
- package/lib/list-design/src/layout-preview.min.js +1 -1
- package/lib/list-design/src/list-view.js +5 -7
- package/lib/list-design/src/list-view.min.js +1 -1
- package/lib/modal/src/modal.js +2 -4
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/pager/src/pager.js +1 -3
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table-select/src/table-select.js +5 -7
- package/lib/table-select/src/table-select.min.js +1 -1
- package/lib/tabs/src/tabs.js +2 -6
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tree/src/tree.js +293 -179
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/ui/index.js +3 -7
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/upload/src/upload.js +5 -7
- package/lib/upload/src/upload.min.js +1 -1
- package/package.json +1 -1
- package/packages/button/src/button.ts +2 -4
- package/packages/form/render/index.ts +2 -4
- package/packages/form/src/form.ts +98 -35
- package/packages/form-design/src/form-view.ts +1 -3
- package/packages/list-design/src/layout-preview.ts +5 -7
- package/packages/list-design/src/list-view.ts +5 -7
- package/packages/modal/src/modal.ts +2 -4
- package/packages/pager/src/pager.ts +1 -3
- package/packages/table-select/src/table-select.ts +5 -7
- package/packages/tabs/src/tabs.ts +2 -6
- package/packages/tree/src/tree.ts +235 -172
- package/packages/ui/index.ts +2 -6
- package/packages/upload/src/upload.ts +5 -7
- package/types/components/tree.d.ts +7 -5
- /package/es/icon/{iconfont.1747279440023.ttf → iconfont.1747318422186.ttf} +0 -0
- /package/es/icon/{iconfont.1747279440023.woff → iconfont.1747318422186.woff} +0 -0
- /package/es/icon/{iconfont.1747279440023.woff2 → iconfont.1747318422186.woff2} +0 -0
- /package/es/{iconfont.1747279440023.ttf → iconfont.1747318422186.ttf} +0 -0
- /package/es/{iconfont.1747279440023.woff → iconfont.1747318422186.woff} +0 -0
- /package/es/{iconfont.1747279440023.woff2 → iconfont.1747318422186.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1747279440023.ttf → iconfont.1747318422186.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1747279440023.woff → iconfont.1747318422186.woff} +0 -0
- /package/lib/icon/style/{iconfont.1747279440023.woff2 → iconfont.1747318422186.woff2} +0 -0
- /package/lib/{iconfont.1747279440023.ttf → iconfont.1747318422186.ttf} +0 -0
- /package/lib/{iconfont.1747279440023.woff → iconfont.1747318422186.woff} +0 -0
- /package/lib/{iconfont.1747279440023.woff2 → iconfont.1747318422186.woff2} +0 -0
package/lib/tree/src/tree.js
CHANGED
|
@@ -56,10 +56,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
56
56
|
type: String,
|
|
57
57
|
default: () => (0, _ui.getConfig)().tree.hasChildField
|
|
58
58
|
},
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
mapChildrenField: {
|
|
60
|
+
type: String,
|
|
61
|
+
default: () => (0, _ui.getConfig)().tree.mapChildrenField
|
|
62
|
+
},
|
|
63
63
|
transform: Boolean,
|
|
64
64
|
// 已废弃
|
|
65
65
|
isCurrent: Boolean,
|
|
@@ -131,16 +131,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
131
131
|
const refElem = (0, _vue.ref)();
|
|
132
132
|
const reactData = (0, _vue.reactive)({
|
|
133
133
|
currentNode: null,
|
|
134
|
-
nodeMaps: {},
|
|
135
134
|
selectRadioKey: props.checkNodeKey,
|
|
136
135
|
treeList: [],
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
selectCheckboxMaps: {},
|
|
140
|
-
indeterminateCheckboxMaps: {}
|
|
136
|
+
updateExpandedFlag: 1,
|
|
137
|
+
updateCheckboxFlag: 1
|
|
141
138
|
});
|
|
142
139
|
const internalData = {
|
|
143
|
-
// initialized: false
|
|
140
|
+
// initialized: false,
|
|
141
|
+
nodeMaps: {},
|
|
142
|
+
selectCheckboxMaps: {},
|
|
143
|
+
indeterminateRowMaps: {},
|
|
144
|
+
treeExpandedMaps: {},
|
|
145
|
+
treeExpandLazyLoadedMaps: {}
|
|
144
146
|
};
|
|
145
147
|
const refMaps = {
|
|
146
148
|
refElem
|
|
@@ -161,6 +163,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
161
163
|
const computeChildrenField = (0, _vue.computed)(() => {
|
|
162
164
|
return props.childrenField || 'children';
|
|
163
165
|
});
|
|
166
|
+
const computeMapChildrenField = (0, _vue.computed)(() => {
|
|
167
|
+
return props.mapChildrenField || 'mapChildren';
|
|
168
|
+
});
|
|
164
169
|
const computeHasChildField = (0, _vue.computed)(() => {
|
|
165
170
|
return props.hasChildField || 'hasChild';
|
|
166
171
|
});
|
|
@@ -235,10 +240,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
235
240
|
};
|
|
236
241
|
const isExpandByNode = node => {
|
|
237
242
|
const {
|
|
238
|
-
|
|
243
|
+
updateExpandedFlag
|
|
239
244
|
} = reactData;
|
|
245
|
+
const {
|
|
246
|
+
treeExpandedMaps
|
|
247
|
+
} = internalData;
|
|
240
248
|
const nodeid = getNodeId(node);
|
|
241
|
-
return !!treeExpandedMaps[nodeid];
|
|
249
|
+
return !!(updateExpandedFlag && treeExpandedMaps[nodeid]);
|
|
242
250
|
};
|
|
243
251
|
const isCheckedByRadioNodeId = nodeid => {
|
|
244
252
|
const {
|
|
@@ -251,18 +259,24 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
251
259
|
};
|
|
252
260
|
const isCheckedByCheckboxNodeId = nodeid => {
|
|
253
261
|
const {
|
|
254
|
-
|
|
262
|
+
updateCheckboxFlag
|
|
255
263
|
} = reactData;
|
|
256
|
-
|
|
264
|
+
const {
|
|
265
|
+
selectCheckboxMaps
|
|
266
|
+
} = internalData;
|
|
267
|
+
return !!(updateCheckboxFlag && selectCheckboxMaps[nodeid]);
|
|
257
268
|
};
|
|
258
269
|
const isCheckedByCheckboxNode = node => {
|
|
259
270
|
return isCheckedByCheckboxNodeId(getNodeId(node));
|
|
260
271
|
};
|
|
261
272
|
const isIndeterminateByCheckboxNodeid = nodeid => {
|
|
262
273
|
const {
|
|
263
|
-
|
|
274
|
+
updateCheckboxFlag
|
|
264
275
|
} = reactData;
|
|
265
|
-
|
|
276
|
+
const {
|
|
277
|
+
indeterminateRowMaps
|
|
278
|
+
} = internalData;
|
|
279
|
+
return !!(updateCheckboxFlag && indeterminateRowMaps[nodeid]);
|
|
266
280
|
};
|
|
267
281
|
const isIndeterminateByCheckboxNode = node => {
|
|
268
282
|
return isIndeterminateByCheckboxNodeid(getNodeId(node));
|
|
@@ -284,38 +298,66 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
284
298
|
if (!_xeUtils.default.isArray(nodeList)) {
|
|
285
299
|
nodeList = [nodeList];
|
|
286
300
|
}
|
|
287
|
-
handleCheckedCheckboxNode(nodeList
|
|
301
|
+
handleCheckedCheckboxNode(nodeList, checked);
|
|
288
302
|
}
|
|
289
303
|
return (0, _vue.nextTick)();
|
|
290
304
|
};
|
|
291
305
|
const setCheckboxByNodeId = (nodeIds, checked) => {
|
|
306
|
+
const {
|
|
307
|
+
nodeMaps
|
|
308
|
+
} = internalData;
|
|
292
309
|
if (nodeIds) {
|
|
293
310
|
if (!_xeUtils.default.isArray(nodeIds)) {
|
|
294
311
|
nodeIds = [nodeIds];
|
|
295
312
|
}
|
|
296
|
-
|
|
313
|
+
const nodeList = [];
|
|
314
|
+
nodeIds.forEach(nodeid => {
|
|
315
|
+
const nodeItem = nodeMaps[nodeid];
|
|
316
|
+
if (nodeItem) {
|
|
317
|
+
nodeList.push(nodeItem.item);
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
handleCheckedCheckboxNode(nodeList, checked);
|
|
297
321
|
}
|
|
298
322
|
return (0, _vue.nextTick)();
|
|
299
323
|
};
|
|
300
|
-
const handleCheckedCheckboxNode = (
|
|
301
|
-
const
|
|
302
|
-
|
|
324
|
+
const handleCheckedCheckboxNode = (nodeList, checked) => {
|
|
325
|
+
const {
|
|
326
|
+
transform
|
|
327
|
+
} = props;
|
|
328
|
+
const {
|
|
329
|
+
selectCheckboxMaps
|
|
330
|
+
} = internalData;
|
|
331
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
332
|
+
const childrenField = computeChildrenField.value;
|
|
333
|
+
const checkboxOpts = computeCheckboxOpts.value;
|
|
334
|
+
const {
|
|
335
|
+
checkStrictly
|
|
336
|
+
} = checkboxOpts;
|
|
337
|
+
const handleSelect = node => {
|
|
338
|
+
const nodeid = getNodeId(node);
|
|
303
339
|
if (checked) {
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
340
|
+
if (!selectCheckboxMaps[nodeid]) {
|
|
341
|
+
selectCheckboxMaps[nodeid] = node;
|
|
342
|
+
}
|
|
343
|
+
} else {
|
|
344
|
+
if (selectCheckboxMaps[nodeid]) {
|
|
345
|
+
delete selectCheckboxMaps[nodeid];
|
|
346
|
+
}
|
|
307
347
|
}
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
nodeIds.forEach(key => {
|
|
315
|
-
selectKeyMaps[key] = true;
|
|
348
|
+
};
|
|
349
|
+
if (checkStrictly) {
|
|
350
|
+
nodeList.forEach(handleSelect);
|
|
351
|
+
} else {
|
|
352
|
+
_xeUtils.default.eachTree(nodeList, handleSelect, {
|
|
353
|
+
children: transform ? mapChildrenField : childrenField
|
|
316
354
|
});
|
|
317
355
|
}
|
|
318
|
-
reactData.
|
|
356
|
+
reactData.updateCheckboxFlag++;
|
|
357
|
+
updateCheckboxStatus();
|
|
358
|
+
};
|
|
359
|
+
const updateCheckboxChecked = nodeIds => {
|
|
360
|
+
setCheckboxByNodeId(nodeIds, true);
|
|
319
361
|
};
|
|
320
362
|
const handleSetExpand = (nodeid, expanded, expandedMaps) => {
|
|
321
363
|
if (expanded) {
|
|
@@ -362,9 +404,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
362
404
|
},
|
|
363
405
|
getCurrentNode() {
|
|
364
406
|
const {
|
|
365
|
-
currentNode
|
|
366
|
-
nodeMaps
|
|
407
|
+
currentNode
|
|
367
408
|
} = reactData;
|
|
409
|
+
const {
|
|
410
|
+
nodeMaps
|
|
411
|
+
} = internalData;
|
|
368
412
|
if (currentNode) {
|
|
369
413
|
const nodeItem = nodeMaps[getNodeId(currentNode)];
|
|
370
414
|
if (nodeItem) {
|
|
@@ -376,7 +420,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
376
420
|
setCurrentNodeId(nodeKey) {
|
|
377
421
|
const {
|
|
378
422
|
nodeMaps
|
|
379
|
-
} =
|
|
423
|
+
} = internalData;
|
|
380
424
|
const nodeItem = nodeMaps[nodeKey];
|
|
381
425
|
reactData.currentNode = nodeItem ? nodeItem.item : null;
|
|
382
426
|
return (0, _vue.nextTick)();
|
|
@@ -394,9 +438,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
394
438
|
},
|
|
395
439
|
getRadioNode() {
|
|
396
440
|
const {
|
|
397
|
-
selectRadioKey
|
|
398
|
-
nodeMaps
|
|
441
|
+
selectRadioKey
|
|
399
442
|
} = reactData;
|
|
443
|
+
const {
|
|
444
|
+
nodeMaps
|
|
445
|
+
} = internalData;
|
|
400
446
|
if (selectRadioKey) {
|
|
401
447
|
const nodeItem = nodeMaps[selectRadioKey];
|
|
402
448
|
if (nodeItem) {
|
|
@@ -415,14 +461,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
415
461
|
getCheckboxNodeIds() {
|
|
416
462
|
const {
|
|
417
463
|
selectCheckboxMaps
|
|
418
|
-
} =
|
|
464
|
+
} = internalData;
|
|
419
465
|
return Object.keys(selectCheckboxMaps);
|
|
420
466
|
},
|
|
421
467
|
getCheckboxNodes() {
|
|
422
468
|
const {
|
|
423
469
|
nodeMaps,
|
|
424
470
|
selectCheckboxMaps
|
|
425
|
-
} =
|
|
471
|
+
} = internalData;
|
|
426
472
|
const list = [];
|
|
427
473
|
_xeUtils.default.each(selectCheckboxMaps, (item, nodeid) => {
|
|
428
474
|
const nodeItem = nodeMaps[nodeid];
|
|
@@ -433,57 +479,69 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
433
479
|
return list;
|
|
434
480
|
},
|
|
435
481
|
clearCheckboxNode() {
|
|
436
|
-
|
|
482
|
+
internalData.selectCheckboxMaps = {};
|
|
483
|
+
reactData.updateCheckboxFlag++;
|
|
437
484
|
return (0, _vue.nextTick)();
|
|
438
485
|
},
|
|
439
486
|
setAllCheckboxNode(checked) {
|
|
487
|
+
const {
|
|
488
|
+
transform
|
|
489
|
+
} = props;
|
|
440
490
|
const selectMaps = {};
|
|
441
491
|
const childrenField = computeChildrenField.value;
|
|
492
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
442
493
|
if (checked) {
|
|
443
494
|
_xeUtils.default.eachTree(reactData.treeList, node => {
|
|
444
495
|
const nodeid = getNodeId(node);
|
|
445
496
|
selectMaps[nodeid] = true;
|
|
446
497
|
}, {
|
|
447
|
-
children: childrenField
|
|
498
|
+
children: transform ? mapChildrenField : childrenField
|
|
448
499
|
});
|
|
449
500
|
}
|
|
450
|
-
|
|
501
|
+
internalData.selectCheckboxMaps = selectMaps;
|
|
502
|
+
reactData.updateCheckboxFlag++;
|
|
451
503
|
return (0, _vue.nextTick)();
|
|
452
504
|
},
|
|
453
505
|
clearExpandNode() {
|
|
454
506
|
return treeMethods.clearAllExpandNode();
|
|
455
507
|
},
|
|
456
508
|
clearAllExpandNode() {
|
|
457
|
-
|
|
509
|
+
const {
|
|
510
|
+
nodeMaps
|
|
511
|
+
} = internalData;
|
|
512
|
+
_xeUtils.default.each(nodeMaps, nodeItem => {
|
|
458
513
|
nodeItem.treeLoaded = false;
|
|
459
514
|
});
|
|
460
|
-
|
|
515
|
+
internalData.treeExpandedMaps = {};
|
|
516
|
+
reactData.updateExpandedFlag++;
|
|
461
517
|
return (0, _vue.nextTick)();
|
|
462
518
|
},
|
|
463
519
|
setExpandByNodeId(nodeids, expanded) {
|
|
464
|
-
const
|
|
520
|
+
const {
|
|
521
|
+
treeExpandedMaps
|
|
522
|
+
} = internalData;
|
|
465
523
|
if (nodeids) {
|
|
466
524
|
if (!_xeUtils.default.isArray(nodeids)) {
|
|
467
525
|
nodeids = [nodeids];
|
|
468
526
|
}
|
|
469
527
|
nodeids.forEach(nodeid => {
|
|
470
|
-
handleSetExpand(nodeid, expanded,
|
|
528
|
+
handleSetExpand(nodeid, expanded, treeExpandedMaps);
|
|
471
529
|
});
|
|
472
|
-
reactData.
|
|
530
|
+
reactData.updateExpandedFlag++;
|
|
473
531
|
}
|
|
474
532
|
return (0, _vue.nextTick)();
|
|
475
533
|
},
|
|
476
534
|
getExpandNodeIds() {
|
|
477
535
|
const {
|
|
478
536
|
treeExpandedMaps
|
|
479
|
-
} =
|
|
480
|
-
return
|
|
537
|
+
} = internalData;
|
|
538
|
+
return _xeUtils.default.keys(treeExpandedMaps);
|
|
481
539
|
},
|
|
482
540
|
getExpandNodes() {
|
|
483
541
|
const {
|
|
484
542
|
nodeMaps,
|
|
485
543
|
treeExpandedMaps
|
|
486
|
-
} =
|
|
544
|
+
} = internalData;
|
|
487
545
|
const list = [];
|
|
488
546
|
_xeUtils.default.each(treeExpandedMaps, (item, nodeid) => {
|
|
489
547
|
const nodeItem = nodeMaps[nodeid];
|
|
@@ -494,62 +552,74 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
494
552
|
return list;
|
|
495
553
|
},
|
|
496
554
|
setExpandNode(nodes, expanded) {
|
|
497
|
-
const
|
|
555
|
+
const {
|
|
556
|
+
treeExpandedMaps
|
|
557
|
+
} = internalData;
|
|
498
558
|
if (nodes) {
|
|
499
559
|
if (!_xeUtils.default.isArray(nodes)) {
|
|
500
560
|
nodes = [nodes];
|
|
501
561
|
}
|
|
502
562
|
nodes.forEach(node => {
|
|
503
563
|
const nodeid = getNodeId(node);
|
|
504
|
-
handleSetExpand(nodeid, expanded,
|
|
564
|
+
handleSetExpand(nodeid, expanded, treeExpandedMaps);
|
|
505
565
|
});
|
|
506
|
-
reactData.
|
|
566
|
+
reactData.updateExpandedFlag++;
|
|
507
567
|
}
|
|
508
568
|
return (0, _vue.nextTick)();
|
|
509
569
|
},
|
|
510
570
|
toggleExpandByNodeId(nodeids) {
|
|
511
|
-
const
|
|
571
|
+
const {
|
|
572
|
+
treeExpandedMaps
|
|
573
|
+
} = internalData;
|
|
512
574
|
if (nodeids) {
|
|
513
575
|
if (!_xeUtils.default.isArray(nodeids)) {
|
|
514
576
|
nodeids = [nodeids];
|
|
515
577
|
}
|
|
516
578
|
nodeids.forEach(nodeid => {
|
|
517
|
-
handleSetExpand(nodeid, !
|
|
579
|
+
handleSetExpand(nodeid, !treeExpandedMaps[nodeid], treeExpandedMaps);
|
|
518
580
|
});
|
|
519
|
-
reactData.
|
|
581
|
+
reactData.updateExpandedFlag++;
|
|
520
582
|
}
|
|
521
583
|
return (0, _vue.nextTick)();
|
|
522
584
|
},
|
|
523
585
|
toggleExpandNode(nodes) {
|
|
524
|
-
const
|
|
586
|
+
const {
|
|
587
|
+
treeExpandedMaps
|
|
588
|
+
} = internalData;
|
|
525
589
|
if (nodes) {
|
|
526
590
|
if (!_xeUtils.default.isArray(nodes)) {
|
|
527
591
|
nodes = [nodes];
|
|
528
592
|
}
|
|
529
593
|
nodes.forEach(node => {
|
|
530
594
|
const nodeid = getNodeId(node);
|
|
531
|
-
handleSetExpand(nodeid, !
|
|
595
|
+
handleSetExpand(nodeid, !treeExpandedMaps[nodeid], treeExpandedMaps);
|
|
532
596
|
});
|
|
533
|
-
reactData.
|
|
597
|
+
reactData.updateExpandedFlag++;
|
|
534
598
|
}
|
|
535
599
|
return (0, _vue.nextTick)();
|
|
536
600
|
},
|
|
537
601
|
setAllExpandNode(expanded) {
|
|
538
|
-
const
|
|
602
|
+
const {
|
|
603
|
+
transform
|
|
604
|
+
} = props;
|
|
605
|
+
const {
|
|
606
|
+
treeExpandedMaps
|
|
607
|
+
} = internalData;
|
|
539
608
|
const childrenField = computeChildrenField.value;
|
|
609
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
540
610
|
if (expanded) {
|
|
541
611
|
_xeUtils.default.eachTree(reactData.treeList, node => {
|
|
542
612
|
const childList = _xeUtils.default.get(node, childrenField);
|
|
543
613
|
const hasChild = childList && childList.length;
|
|
544
614
|
if (hasChild) {
|
|
545
615
|
const nodeid = getNodeId(node);
|
|
546
|
-
|
|
616
|
+
treeExpandedMaps[nodeid] = true;
|
|
547
617
|
}
|
|
548
618
|
}, {
|
|
549
|
-
children: childrenField
|
|
619
|
+
children: transform ? mapChildrenField : childrenField
|
|
550
620
|
});
|
|
551
621
|
}
|
|
552
|
-
reactData.
|
|
622
|
+
reactData.updateExpandedFlag++;
|
|
553
623
|
return (0, _vue.nextTick)();
|
|
554
624
|
},
|
|
555
625
|
reloadExpandNode(node) {
|
|
@@ -568,7 +638,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
568
638
|
} = props;
|
|
569
639
|
const {
|
|
570
640
|
nodeMaps
|
|
571
|
-
} =
|
|
641
|
+
} = internalData;
|
|
572
642
|
if (lazy) {
|
|
573
643
|
const nodeItem = nodeMaps[getNodeId(node)];
|
|
574
644
|
if (nodeItem) {
|
|
@@ -587,7 +657,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
587
657
|
} = props;
|
|
588
658
|
const {
|
|
589
659
|
nodeMaps
|
|
590
|
-
} =
|
|
660
|
+
} = internalData;
|
|
591
661
|
if (!lazy) {
|
|
592
662
|
return Promise.resolve([]);
|
|
593
663
|
}
|
|
@@ -627,24 +697,29 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
627
697
|
isCheckedByCheckboxNode,
|
|
628
698
|
getCheckboxIndeterminateNodes() {
|
|
629
699
|
const {
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
} =
|
|
633
|
-
const
|
|
634
|
-
_xeUtils.default.
|
|
635
|
-
|
|
636
|
-
|
|
700
|
+
nodeMaps,
|
|
701
|
+
indeterminateRowMaps
|
|
702
|
+
} = internalData;
|
|
703
|
+
const list = [];
|
|
704
|
+
_xeUtils.default.each(indeterminateRowMaps, (item, nodeid) => {
|
|
705
|
+
const nodeItem = nodeMaps[nodeid];
|
|
706
|
+
if (nodeItem) {
|
|
707
|
+
list.push(nodeItem.item);
|
|
637
708
|
}
|
|
638
709
|
});
|
|
639
|
-
return
|
|
710
|
+
return list;
|
|
640
711
|
}
|
|
641
712
|
};
|
|
642
713
|
const cacheNodeMap = () => {
|
|
714
|
+
const {
|
|
715
|
+
transform
|
|
716
|
+
} = props;
|
|
643
717
|
const {
|
|
644
718
|
treeList
|
|
645
719
|
} = reactData;
|
|
646
720
|
const valueField = computeValueField.value;
|
|
647
721
|
const childrenField = computeChildrenField.value;
|
|
722
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
648
723
|
const keyMaps = {};
|
|
649
724
|
_xeUtils.default.eachTree(treeList, (item, itemIndex, items, path, parent, nodes) => {
|
|
650
725
|
let nodeid = getNodeId(item);
|
|
@@ -663,11 +738,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
663
738
|
treeLoaded: false
|
|
664
739
|
};
|
|
665
740
|
}, {
|
|
666
|
-
children: childrenField
|
|
741
|
+
children: transform ? mapChildrenField : childrenField
|
|
667
742
|
});
|
|
668
|
-
|
|
743
|
+
internalData.nodeMaps = keyMaps;
|
|
669
744
|
};
|
|
670
|
-
const
|
|
745
|
+
const loadTreeData = list => {
|
|
671
746
|
const {
|
|
672
747
|
expandAll,
|
|
673
748
|
transform
|
|
@@ -677,28 +752,31 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
677
752
|
} = internalData;
|
|
678
753
|
const keyField = computeKeyField.value;
|
|
679
754
|
const parentField = computeParentField.value;
|
|
680
|
-
const
|
|
755
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
681
756
|
if (transform) {
|
|
682
757
|
reactData.treeList = _xeUtils.default.toArrayTree(list, {
|
|
683
758
|
key: keyField,
|
|
684
759
|
parentKey: parentField,
|
|
685
|
-
mapChildren:
|
|
760
|
+
mapChildren: mapChildrenField
|
|
686
761
|
});
|
|
687
762
|
} else {
|
|
688
763
|
reactData.treeList = list ? list.slice(0) : [];
|
|
689
764
|
}
|
|
690
765
|
cacheNodeMap();
|
|
691
|
-
if (
|
|
766
|
+
if (!initialized) {
|
|
692
767
|
if (list && list.length) {
|
|
693
768
|
internalData.initialized = true;
|
|
694
|
-
|
|
769
|
+
if (expandAll) {
|
|
770
|
+
$xeTree.setAllExpandNode(true);
|
|
771
|
+
}
|
|
772
|
+
$xeTree.setCheckboxByNodeId(props.checkNodeKeys || [], true);
|
|
695
773
|
}
|
|
696
774
|
}
|
|
697
775
|
};
|
|
698
776
|
const handleCountLine = (item, isRoot, nodeItem) => {
|
|
699
777
|
const {
|
|
700
778
|
treeExpandedMaps
|
|
701
|
-
} =
|
|
779
|
+
} = internalData;
|
|
702
780
|
const childrenField = computeChildrenField.value;
|
|
703
781
|
const nodeid = getNodeId(item);
|
|
704
782
|
nodeItem.lineCount++;
|
|
@@ -713,7 +791,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
713
791
|
const updateNodeLine = node => {
|
|
714
792
|
const {
|
|
715
793
|
nodeMaps
|
|
716
|
-
} =
|
|
794
|
+
} = internalData;
|
|
717
795
|
if (node) {
|
|
718
796
|
const nodeid = getNodeId(node);
|
|
719
797
|
const nodeItem = nodeMaps[nodeid];
|
|
@@ -783,21 +861,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
783
861
|
} = checkboxOpts;
|
|
784
862
|
return new Promise(resolve => {
|
|
785
863
|
if (loadMethod) {
|
|
786
|
-
const tempExpandLazyLoadedMaps = Object.assign({}, reactData.treeExpandLazyLoadedMaps);
|
|
787
864
|
const {
|
|
788
865
|
nodeMaps
|
|
789
|
-
} =
|
|
866
|
+
} = internalData;
|
|
790
867
|
const nodeid = getNodeId(node);
|
|
791
868
|
const nodeItem = nodeMaps[nodeid];
|
|
792
|
-
|
|
793
|
-
reactData.treeExpandLazyLoadedMaps = tempExpandLazyLoadedMaps;
|
|
869
|
+
internalData.treeExpandLazyLoadedMaps[nodeid] = true;
|
|
794
870
|
Promise.resolve(loadMethod({
|
|
795
871
|
$tree: $xeTree,
|
|
796
872
|
node
|
|
797
873
|
})).then(childRecords => {
|
|
798
874
|
const {
|
|
799
875
|
treeExpandLazyLoadedMaps
|
|
800
|
-
} =
|
|
876
|
+
} = internalData;
|
|
801
877
|
nodeItem.treeLoaded = true;
|
|
802
878
|
if (treeExpandLazyLoadedMaps[nodeid]) {
|
|
803
879
|
treeExpandLazyLoadedMaps[nodeid] = false;
|
|
@@ -806,15 +882,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
806
882
|
childRecords = [];
|
|
807
883
|
}
|
|
808
884
|
if (childRecords) {
|
|
809
|
-
return
|
|
810
|
-
const
|
|
811
|
-
|
|
812
|
-
|
|
885
|
+
return $xeTree.loadChildrenNode(node, childRecords).then(childRows => {
|
|
886
|
+
const {
|
|
887
|
+
treeExpandedMaps
|
|
888
|
+
} = internalData;
|
|
889
|
+
if (childRows.length && !treeExpandedMaps[nodeid]) {
|
|
890
|
+
treeExpandedMaps[nodeid] = true;
|
|
813
891
|
}
|
|
814
|
-
reactData.
|
|
892
|
+
reactData.updateExpandedFlag++;
|
|
815
893
|
// 如果当前节点已选中,则展开后子节点也被选中
|
|
816
|
-
if (!checkStrictly &&
|
|
817
|
-
handleCheckedCheckboxNode(childRows
|
|
894
|
+
if (!checkStrictly && $xeTree.isCheckedByCheckboxNodeId(nodeid)) {
|
|
895
|
+
handleCheckedCheckboxNode(childRows, true);
|
|
818
896
|
}
|
|
819
897
|
updateNodeLine(node);
|
|
820
898
|
dispatchEvent('load-success', {
|
|
@@ -833,7 +911,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
833
911
|
}).catch(e => {
|
|
834
912
|
const {
|
|
835
913
|
treeExpandLazyLoadedMaps
|
|
836
|
-
} =
|
|
914
|
+
} = internalData;
|
|
837
915
|
nodeItem.treeLoaded = false;
|
|
838
916
|
if (treeExpandLazyLoadedMaps[nodeid]) {
|
|
839
917
|
treeExpandLazyLoadedMaps[nodeid] = false;
|
|
@@ -864,10 +942,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
864
942
|
toggleMethod
|
|
865
943
|
} = props;
|
|
866
944
|
const {
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
} =
|
|
870
|
-
const
|
|
945
|
+
treeExpandLazyLoadedMaps,
|
|
946
|
+
treeExpandedMaps
|
|
947
|
+
} = internalData;
|
|
948
|
+
const {
|
|
949
|
+
nodeMaps
|
|
950
|
+
} = internalData;
|
|
871
951
|
const childrenField = computeChildrenField.value;
|
|
872
952
|
const hasChildField = computeHasChildField.value;
|
|
873
953
|
const result = [];
|
|
@@ -884,8 +964,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
884
964
|
if (nodeItem) {
|
|
885
965
|
nodeItem.items.forEach(item => {
|
|
886
966
|
const itemNodeId = getNodeId(item);
|
|
887
|
-
if (
|
|
888
|
-
delete
|
|
967
|
+
if (treeExpandedMaps[itemNodeId]) {
|
|
968
|
+
delete treeExpandedMaps[itemNodeId];
|
|
889
969
|
}
|
|
890
970
|
});
|
|
891
971
|
}
|
|
@@ -894,7 +974,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
894
974
|
if (expanded) {
|
|
895
975
|
validNodes.forEach(item => {
|
|
896
976
|
const itemNodeId = getNodeId(item);
|
|
897
|
-
if (!
|
|
977
|
+
if (!treeExpandedMaps[itemNodeId]) {
|
|
898
978
|
const nodeItem = nodeMaps[itemNodeId];
|
|
899
979
|
const isLoad = lazy && item[hasChildField] && !nodeItem.treeLoaded && !treeExpandLazyLoadedMaps[itemNodeId];
|
|
900
980
|
// 是否使用懒加载
|
|
@@ -902,7 +982,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
902
982
|
result.push(handleAsyncTreeExpandChilds(item));
|
|
903
983
|
} else {
|
|
904
984
|
if (item[childrenField] && item[childrenField].length) {
|
|
905
|
-
|
|
985
|
+
treeExpandedMaps[itemNodeId] = true;
|
|
906
986
|
expandNodes.push(item);
|
|
907
987
|
}
|
|
908
988
|
}
|
|
@@ -911,13 +991,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
911
991
|
} else {
|
|
912
992
|
validNodes.forEach(item => {
|
|
913
993
|
const itemNodeId = getNodeId(item);
|
|
914
|
-
if (
|
|
915
|
-
delete
|
|
994
|
+
if (treeExpandedMaps[itemNodeId]) {
|
|
995
|
+
delete treeExpandedMaps[itemNodeId];
|
|
916
996
|
expandNodes.push(item);
|
|
917
997
|
}
|
|
918
998
|
});
|
|
919
999
|
}
|
|
920
|
-
reactData.
|
|
1000
|
+
reactData.updateExpandedFlag++;
|
|
921
1001
|
expandNodes.forEach(updateNodeLine);
|
|
922
1002
|
return Promise.all(result);
|
|
923
1003
|
};
|
|
@@ -928,7 +1008,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
928
1008
|
const {
|
|
929
1009
|
treeExpandedMaps,
|
|
930
1010
|
treeExpandLazyLoadedMaps
|
|
931
|
-
} =
|
|
1011
|
+
} = internalData;
|
|
932
1012
|
const nodeid = getNodeId(node);
|
|
933
1013
|
const expanded = !treeExpandedMaps[nodeid];
|
|
934
1014
|
evnt.stopPropagation();
|
|
@@ -936,74 +1016,107 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
936
1016
|
handleBaseTreeExpand([node], expanded);
|
|
937
1017
|
}
|
|
938
1018
|
};
|
|
939
|
-
const handleNodeCheckboxStatus = (node, selectKeyMaps, indeterminateMaps) => {
|
|
940
|
-
const childrenField = computeChildrenField.value;
|
|
941
|
-
const childList = _xeUtils.default.get(node, childrenField);
|
|
942
|
-
const nodeid = getNodeId(node);
|
|
943
|
-
if (childList && childList.length) {
|
|
944
|
-
let checkSome = false;
|
|
945
|
-
let checkSize = 0;
|
|
946
|
-
childList.forEach(childNode => {
|
|
947
|
-
const childNodeid = getNodeId(childNode);
|
|
948
|
-
const isChecked = selectKeyMaps[childNodeid];
|
|
949
|
-
if (isChecked || indeterminateMaps[childNodeid]) {
|
|
950
|
-
if (isChecked) {
|
|
951
|
-
checkSize++;
|
|
952
|
-
}
|
|
953
|
-
checkSome = true;
|
|
954
|
-
}
|
|
955
|
-
});
|
|
956
|
-
const checkAll = checkSize === childList.length;
|
|
957
|
-
if (checkAll) {
|
|
958
|
-
if (!selectKeyMaps[nodeid]) {
|
|
959
|
-
selectKeyMaps[nodeid] = true;
|
|
960
|
-
}
|
|
961
|
-
if (indeterminateMaps[nodeid]) {
|
|
962
|
-
delete indeterminateMaps[nodeid];
|
|
963
|
-
}
|
|
964
|
-
} else {
|
|
965
|
-
if (selectKeyMaps[nodeid]) {
|
|
966
|
-
delete selectKeyMaps[nodeid];
|
|
967
|
-
}
|
|
968
|
-
indeterminateMaps[nodeid] = checkSome;
|
|
969
|
-
}
|
|
970
|
-
} else {
|
|
971
|
-
if (indeterminateMaps[nodeid]) {
|
|
972
|
-
delete indeterminateMaps[nodeid];
|
|
973
|
-
}
|
|
974
|
-
}
|
|
975
|
-
};
|
|
976
1019
|
const updateCheckboxStatus = () => {
|
|
1020
|
+
const {
|
|
1021
|
+
transform
|
|
1022
|
+
} = props;
|
|
977
1023
|
const {
|
|
978
1024
|
treeList
|
|
979
1025
|
} = reactData;
|
|
1026
|
+
const {
|
|
1027
|
+
selectCheckboxMaps,
|
|
1028
|
+
indeterminateRowMaps
|
|
1029
|
+
} = internalData;
|
|
980
1030
|
const childrenField = computeChildrenField.value;
|
|
1031
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
981
1032
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
982
1033
|
const {
|
|
983
|
-
checkStrictly
|
|
1034
|
+
checkStrictly,
|
|
1035
|
+
checkMethod
|
|
984
1036
|
} = checkboxOpts;
|
|
985
1037
|
if (!checkStrictly) {
|
|
986
|
-
const
|
|
987
|
-
const
|
|
988
|
-
_xeUtils.default.eachTree(treeList,
|
|
989
|
-
const
|
|
990
|
-
|
|
991
|
-
|
|
1038
|
+
const childRowMaps = {};
|
|
1039
|
+
const childRowList = [];
|
|
1040
|
+
_xeUtils.default.eachTree(treeList, node => {
|
|
1041
|
+
const nodeid = getNodeId(node);
|
|
1042
|
+
const childList = node[childrenField];
|
|
1043
|
+
if (childList && childList.length && !childRowMaps[nodeid]) {
|
|
1044
|
+
childRowMaps[nodeid] = 1;
|
|
1045
|
+
childRowList.unshift([node, nodeid, childList]);
|
|
992
1046
|
}
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
1047
|
+
}, {
|
|
1048
|
+
children: transform ? mapChildrenField : childrenField
|
|
1049
|
+
});
|
|
1050
|
+
childRowList.forEach(vals => {
|
|
1051
|
+
const node = vals[0];
|
|
1052
|
+
const nodeid = vals[1];
|
|
1053
|
+
const childList = vals[2];
|
|
1054
|
+
let sLen = 0; // 已选
|
|
1055
|
+
let hLen = 0; // 半选
|
|
1056
|
+
let vLen = 0; // 有效行
|
|
1057
|
+
childList.forEach(checkMethod ? item => {
|
|
1058
|
+
const childNodeid = getNodeId(item);
|
|
1059
|
+
const isSelect = selectCheckboxMaps[childNodeid];
|
|
1060
|
+
if (checkMethod({
|
|
1061
|
+
node: item
|
|
1062
|
+
})) {
|
|
1063
|
+
if (isSelect) {
|
|
1064
|
+
sLen++;
|
|
1065
|
+
} else if (indeterminateRowMaps[childNodeid]) {
|
|
1066
|
+
hLen++;
|
|
1067
|
+
}
|
|
1068
|
+
vLen++;
|
|
1069
|
+
} else {
|
|
1070
|
+
if (isSelect) {
|
|
1071
|
+
sLen++;
|
|
1072
|
+
} else if (indeterminateRowMaps[childNodeid]) {
|
|
1073
|
+
hLen++;
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1076
|
+
} : item => {
|
|
1077
|
+
const childNodeid = getNodeId(item);
|
|
1078
|
+
const isSelect = selectCheckboxMaps[childNodeid];
|
|
1079
|
+
if (isSelect) {
|
|
1080
|
+
sLen++;
|
|
1081
|
+
} else if (indeterminateRowMaps[childNodeid]) {
|
|
1082
|
+
hLen++;
|
|
1083
|
+
}
|
|
1084
|
+
vLen++;
|
|
1085
|
+
});
|
|
1086
|
+
const isSelected = sLen >= vLen;
|
|
1087
|
+
const halfSelect = !isSelected && (sLen >= 1 || hLen >= 1);
|
|
1088
|
+
if (isSelected) {
|
|
1089
|
+
selectCheckboxMaps[nodeid] = node;
|
|
1090
|
+
if (indeterminateRowMaps[nodeid]) {
|
|
1091
|
+
delete indeterminateRowMaps[nodeid];
|
|
1092
|
+
}
|
|
1093
|
+
} else {
|
|
1094
|
+
if (selectCheckboxMaps[nodeid]) {
|
|
1095
|
+
delete selectCheckboxMaps[nodeid];
|
|
1096
|
+
}
|
|
1097
|
+
if (halfSelect) {
|
|
1098
|
+
indeterminateRowMaps[nodeid] = node;
|
|
1099
|
+
} else {
|
|
1100
|
+
if (indeterminateRowMaps[nodeid]) {
|
|
1101
|
+
delete indeterminateRowMaps[nodeid];
|
|
1102
|
+
}
|
|
997
1103
|
}
|
|
998
1104
|
}
|
|
999
1105
|
});
|
|
1000
|
-
reactData.
|
|
1001
|
-
reactData.indeterminateCheckboxMaps = indeterminateMaps;
|
|
1106
|
+
reactData.updateCheckboxFlag++;
|
|
1002
1107
|
}
|
|
1003
1108
|
};
|
|
1004
1109
|
const changeCheckboxEvent = (evnt, node) => {
|
|
1005
1110
|
evnt.preventDefault();
|
|
1006
1111
|
evnt.stopPropagation();
|
|
1112
|
+
const {
|
|
1113
|
+
transform
|
|
1114
|
+
} = props;
|
|
1115
|
+
const {
|
|
1116
|
+
selectCheckboxMaps
|
|
1117
|
+
} = internalData;
|
|
1118
|
+
const childrenField = computeChildrenField.value;
|
|
1119
|
+
const mapChildrenField = computeMapChildrenField.value;
|
|
1007
1120
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
1008
1121
|
const {
|
|
1009
1122
|
checkStrictly,
|
|
@@ -1018,35 +1131,33 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1018
1131
|
if (isDisabled) {
|
|
1019
1132
|
return;
|
|
1020
1133
|
}
|
|
1021
|
-
const selectKeyMaps = Object.assign({}, reactData.selectCheckboxMaps);
|
|
1022
|
-
const childrenField = computeChildrenField.value;
|
|
1023
1134
|
const nodeid = getNodeId(node);
|
|
1024
1135
|
let isChecked = false;
|
|
1025
|
-
if (
|
|
1026
|
-
delete
|
|
1136
|
+
if (selectCheckboxMaps[nodeid]) {
|
|
1137
|
+
delete selectCheckboxMaps[nodeid];
|
|
1027
1138
|
} else {
|
|
1028
1139
|
isChecked = true;
|
|
1029
|
-
|
|
1140
|
+
selectCheckboxMaps[nodeid] = node;
|
|
1030
1141
|
}
|
|
1031
1142
|
if (!checkStrictly) {
|
|
1032
1143
|
_xeUtils.default.eachTree(_xeUtils.default.get(node, childrenField), childNode => {
|
|
1033
1144
|
const childNodeid = getNodeId(childNode);
|
|
1034
1145
|
if (isChecked) {
|
|
1035
|
-
if (!
|
|
1036
|
-
|
|
1146
|
+
if (!selectCheckboxMaps[childNodeid]) {
|
|
1147
|
+
selectCheckboxMaps[childNodeid] = true;
|
|
1037
1148
|
}
|
|
1038
1149
|
} else {
|
|
1039
|
-
if (
|
|
1040
|
-
delete
|
|
1150
|
+
if (selectCheckboxMaps[childNodeid]) {
|
|
1151
|
+
delete selectCheckboxMaps[childNodeid];
|
|
1041
1152
|
}
|
|
1042
1153
|
}
|
|
1043
1154
|
}, {
|
|
1044
|
-
children: childrenField
|
|
1155
|
+
children: transform ? mapChildrenField : childrenField
|
|
1045
1156
|
});
|
|
1046
1157
|
}
|
|
1047
|
-
reactData.
|
|
1158
|
+
reactData.updateCheckboxFlag++;
|
|
1048
1159
|
updateCheckboxStatus();
|
|
1049
|
-
const value =
|
|
1160
|
+
const value = _xeUtils.default.keys(selectCheckboxMaps);
|
|
1050
1161
|
emitCheckboxMode(value);
|
|
1051
1162
|
dispatchEvent('checkbox-change', {
|
|
1052
1163
|
node,
|
|
@@ -1204,12 +1315,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1204
1315
|
showIcon
|
|
1205
1316
|
} = props;
|
|
1206
1317
|
const {
|
|
1207
|
-
nodeMaps,
|
|
1208
|
-
treeExpandedMaps,
|
|
1209
1318
|
currentNode,
|
|
1210
1319
|
selectRadioKey,
|
|
1211
|
-
|
|
1320
|
+
updateExpandedFlag
|
|
1212
1321
|
} = reactData;
|
|
1322
|
+
const {
|
|
1323
|
+
nodeMaps,
|
|
1324
|
+
treeExpandedMaps,
|
|
1325
|
+
treeExpandLazyLoadedMaps
|
|
1326
|
+
} = internalData;
|
|
1213
1327
|
const childrenField = computeChildrenField.value;
|
|
1214
1328
|
const titleField = computeTitleField.value;
|
|
1215
1329
|
const hasChildField = computeHasChildField.value;
|
|
@@ -1219,7 +1333,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1219
1333
|
const titleSlot = slots.title;
|
|
1220
1334
|
const extraSlot = slots.extra;
|
|
1221
1335
|
const nodeid = getNodeId(node);
|
|
1222
|
-
const isExpand = treeExpandedMaps[nodeid];
|
|
1336
|
+
const isExpand = updateExpandedFlag && treeExpandedMaps[nodeid];
|
|
1223
1337
|
const nodeItem = nodeMaps[nodeid];
|
|
1224
1338
|
const nodeValue = _xeUtils.default.get(node, titleField);
|
|
1225
1339
|
const childVns = [];
|
|
@@ -1357,7 +1471,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1357
1471
|
dataFlag.value++;
|
|
1358
1472
|
});
|
|
1359
1473
|
(0, _vue.watch)(dataFlag, () => {
|
|
1360
|
-
|
|
1474
|
+
loadTreeData(props.data || []);
|
|
1361
1475
|
});
|
|
1362
1476
|
(0, _vue.watch)(() => props.checkNodeKey, val => {
|
|
1363
1477
|
reactData.selectRadioKey = val;
|
|
@@ -1374,11 +1488,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1374
1488
|
});
|
|
1375
1489
|
(0, _vue.onUnmounted)(() => {
|
|
1376
1490
|
reactData.treeList = [];
|
|
1377
|
-
|
|
1378
|
-
|
|
1491
|
+
internalData.treeExpandedMaps = {};
|
|
1492
|
+
internalData.indeterminateRowMaps = {};
|
|
1493
|
+
internalData.nodeMaps = {};
|
|
1379
1494
|
});
|
|
1380
|
-
|
|
1381
|
-
updateCheckboxChecked(props.checkNodeKeys || []);
|
|
1495
|
+
loadTreeData(props.data || []);
|
|
1382
1496
|
$xeTree.renderVN = renderVN;
|
|
1383
1497
|
return $xeTree;
|
|
1384
1498
|
},
|