104 Commits

Author SHA1 Message Date
630c18ff25 fix(components): [tree] up/down keys stop working after expanding nodes (#21526)
* fix(components): [tree] Up/Down keys stop working after expanding nodes

Fix issue #21514

* fix(components): [tree] Up/Down keys stop working after expanding nodes

* fix(components): [tree] Up/Down keys stop working after expanding nodes
2025-08-01 10:37:59 +08:00
719f8ed5b5 fix(components): [tree]: fix dynamic binding defaultCheckedKeys trigger rerender (#21503)
* fix(components): [tree]: Fix Dynamic Binding Expression

Fix issue #21130

* fix(components): [tree]: Fix Dynamic Binding Expression

* fix(components): [tree]: Fix Dynamic Binding Expression

* fix(components): [tree]: Fix Dynamic Binding Expression
2025-07-28 00:08:38 +02:00
e34cd311ef fix(components): [tree] keyboard nav broken after filter/collapse (#21377)
* fix(components): [tree] keyboard nav broken after filter/collapse

Fix issues #21376

* fix(components): [tree] keyboard nav broken after filter/collapse

* fix(components): [tree] keyboard nav broken after filter/collapse

* Update packages/components/tree/src/model/node.ts

Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>

* Update packages/components/tree/src/model/node.ts

Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>

* fix(components): [tree] keyboard nav broken after filter/collapse

* fix(components): [tree] add test cases

* fix(components): [tree] keyboard nav broken after filter/collapse

* fix(components): [tree] keyboard nav broken after filter/collapse

---------

Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>
2025-07-21 10:17:32 +08:00
58a5852d2d refactor(components): improve component boolean type (#21260) 2025-07-06 14:56:17 +02:00
c57b0cab42 refactor(components): [tree] remove ts-nocheck (#21097)
* chore: wip

* chore: wip

* chore: wip

* chore: wip

* chore: fix

* chore: fix

* chore: cleanup

* chore: fix

* fix: review

Co-authored-by: btea <2356281422@qq.com>

---------

Co-authored-by: btea <2356281422@qq.com>
2025-06-24 15:01:53 +08:00
2f17df1209 style(eslint-config): newline before import type (#21036)
* perf: change to import-x

* feat: add rules

* chore: fix rule

* chore: fix

* chore: fix

* chore: fix

* style: `pnpm lint:fix`

* Revert "style: `pnpm lint:fix`"

This reverts commit db0116a288299c507e3cfc4d7a22e2207265d920.

* Revert "chore: fix"

This reverts commit 69c82a90c01525e38180be4c21e8ef5602512318.

* chore: fix

* style: `pnpm lint:fix`

* fix: lint

* chore: `pnpm format`
2025-06-16 15:37:12 +08:00
8f380ce884 refactor(components): standardize injection keys (#20616) 2025-06-06 14:45:39 +08:00
91ffdbfca6 fix(components): [tree] filter update scheduling error (#20267)
* Update tree-store.ts

fix: the bug #20259 
Ensure the sequence for the traverse step.

* fix(components): [tree] filter update scheduling error

fix(components): [tree] fix bug #20259
Ensure the sequence for the traverse step. If call the traverse without await, the code below will run before the children had been processed, making the parent node invisible.
2025-04-27 16:47:35 +08:00
3a3db6e564 refactor(components): use built-in methods to check for undefined and null (#20537)
style(components): check the undefined type for unification
2025-04-24 22:51:58 +08:00
938d69626f fix(components): [tree] enable ellipsis on label (#20496)
* fix(components): [tree] enable ellipsis on label

* chore: revert

* Update packages/components/tree/src/tree-node-content.vue

Co-authored-by: kooriookami <38392315+kooriookami@users.noreply.github.com>

* chore: add text style in tree

Co-authored-by: sea <45450994+warmthsea@users.noreply.github.com>

---------

Co-authored-by: kooriookami <38392315+kooriookami@users.noreply.github.com>
Co-authored-by: sea <45450994+warmthsea@users.noreply.github.com>
2025-04-22 16:48:23 +08:00
d8e49e5837 fix(components): [tree] retain DOM nodes only in their intended scope (#20494)
fix(components): [tree] retain the reference to DOM nodes only in its intended scope
2025-04-22 11:23:34 +08:00
22c3abc32d fix(components): [tree] stop propagating click event to parent node (#20506)
fix(components): [tree] stop propagating click event to parent
2025-04-21 17:19:13 +08:00
93308e46b7 fix(components): [tree] ensure no checked nodes in regular tree (#20311)
* fix(components): [tree] ensure no checked nodes in regular tree

* chore: fixup

* fix: test
2025-04-03 17:21:07 +08:00
7be4a3765e chore: emits smaller declaration files (#20109)
* Revert "fix(types): packing unexpected types (#19419)"

This reverts commit 13506ffb814d2b1300bf57c06648b6b27281c7c5.

* Revert "chore: add explicit type annoation (#19352)"

* fix(typescript): borken import paths in declaration files

* chore: emits smaller declaration files
2025-03-18 10:08:44 +08:00
sea
244e811b44 chore(eslint-config): add line-between-blocks rules (#20051) 2025-03-08 08:55:02 +08:00
0ed86e74ce feat(components): [tree/tree-select] add check-on-click-leaf attribute (#19494)
* chore: last leaf node clickable on `show-checkbox`

* chore: revert

* chore: leaf node checkable

* test: checkable by click on leaf node

* chore: test & doc

* chore: add version

* feat: handle tree-v2

* test: tree-v2
2025-02-26 21:24:58 +08:00
sea
cffc025415 fix(components): [tree-select] search solve memory leak (#19895)
* fix(components): [tree-select] search solve memory leak

* feat: update

* fix: test

* chore: update test
2025-02-20 11:37:41 +08:00
d676ca4897 chore: [tree] export types (#19846)
* chore: [tree] export type and fix the type error of the docs

* revert: revert

* revert: revert
2025-02-17 09:10:47 +08:00
51d3e83a51 chore(components): [tree] remove ts-nocheck and fix type error (#19777)
* chore(components): [tree] remove ts-nocheck and fix type error

* refactor: refactor

---------

Co-authored-by: btea <2356281422@qq.com>
2025-02-10 20:51:10 +08:00
a5f77e6e31 chore: [tree] remove unused arg (#19255) 2025-01-16 10:44:46 +08:00
343cacf5cc fix(components): numpadEnter does not work like the Enter (#18855) 2024-11-14 21:14:51 +08:00
dab6b73040 refactor: replace type checking with built-in functions (#18720)
* refactor: replace typeof string with the built-in isString

* refactor: replace typeof boolean with the built-in isBoolean

* refactor: replace typeof undefined with the built-in isUndefined

* chore: style

* chore: style
2024-10-31 09:21:21 +08:00
36bd70670e refactor: replace typeof fn with the built-in isFunction (#18705) 2024-10-30 08:42:04 +08:00
10fcc59ed4 refactor: replace Array.isArray with the built-in isArray (#18671)
chore(components): [descriptions] isArray replace Array.isArray
2024-10-28 15:36:44 +08:00
dc7a7aa91b fix(components): [tree] highlight the corresponding node after data reset (#18578)
* fix(components): [tree] keep it highlighted when the tree reset

* fix(components): [tree] add test case
2024-10-23 12:26:07 +08:00
27bdf1f076 fix(components): [el-tree-select] fix lazy and multiple select node (#17903)
* fix(components): [el-tree-select] fix lazy and multiple select node

1.Fix the issue where non-leaf nodes cannot be selected when using lazy and multiple together.

2. Since the original code did not handle the selection of non-leaf nodes before expanding
lazy-loaded child nodes, additional processing was added to link the selection of parent and child
nodes.

3. Because the time required for lazyLoad after nodeExpand cannot be predicted, the triggering time
of the node-expand event in the tree has been adjusted to occur within the callback of the expand
function. This change only affects the timing when using lazyLoad.

BREAKING CHANGE :
no

closed closed Fixes #17232

* fix: test typecheck

* fix: onNodeExpand event and update function name
2024-09-01 20:59:31 +08:00
8618a6bcd0 refactor: import shared utilities from @element-plus/utils (#18048)
chore: import shared utilities from `@element-plus/utils`
2024-08-29 09:04:03 +08:00
4984d1b014 fix(components): tree nodesMap leak (#10195)
Co-authored-by: qiang <qw13131wang@gmail.com>
2024-08-18 15:27:34 +08:00
sea
b93e59b065 fix(components): [tree] FireFox dargging dataTransfer judge (#17849)
* feat(components): [tree] FireFox dargging dataTransfer judge

* feat: add remark
2024-08-14 11:47:26 +08:00
8c9165a93a fix(components): [tree] instance type missing (#17882) 2024-08-13 20:28:52 +08:00
79938178dd build: use vue-tsc to generate dts (#16111)
* build: use vue-tsc to generate dts

* reduce inline type declaration

* fix: type checking failed

* apply suggestions from code review

* address PR comments
2024-08-07 12:01:46 +08:00
9f891192e6 fix(components): [tree] check isLeaf using lazy and default-expand-all (#17585)
fix(components): check isLeaf using lazy and default-expand-all

Fixes the issue where the isLeaf parameter was not checked when using lazy and default-expand-all.

In the current implementation, when default-expand-all is set to true and lazy loading is enabled,
the ElTree component expands nodes without considering the isLeaf parameter. This can lead to
unnecessary loading of leaf nodes.

This fix adds a check for the isLeaf parameter to prevent loading children for nodes marked as leaf
nodes.

This fix improves performance and avoids unnecessary network requests or data processing for nodes
already known to be leaf nodes.

BREAKING CHANGE :
There are no breaking changes introduced by this fix.

closed None.
2024-08-06 16:56:01 +08:00
0484b80e78 fix(components): [tree]calling method to expand node accordion mode fail (#17441) 2024-07-19 15:20:47 +08:00
9e76e6fdb6 fix(components): [tree] add missing type reject for LoadFunction (#16990)
Co-authored-by: btea <2356281422@qq.com>
2024-06-26 18:01:46 +08:00
67d9d7c09b fix(components): [tree-select] empty slot display error (#16943)
* fix(components): [tree-select] empty slot display error

* fix: style
2024-05-25 12:29:43 +08:00
e35f403515 fix(types): non-null assertion component name (#16804) 2024-05-15 09:24:42 +08:00
7f7dae2fa0 fix(components): [tree] dragging a node will deselect the node (#14830)
* fix(components): [tree] Dragging a node will deselect the node(#13912)

* fix(components): [tree] Dragging a node will deselect the node (#13912)

* fix(components): [tree] Dragging a node will deselect the node (#13912)

The Node class adds a method to set the checked state, which only affects the parent node state.

* refactor: optimized code

* fix(components): [tree] Dragging  a node will deselect the node (#13912)

checkStrictly is true no need reInitCheckek

* fix(components): [tree] Dragging a node will deselect the node (#13912)
2024-03-29 16:58:47 +08:00
39a61350d3 feat(components): [tree] lazy load provide reject (#16099) 2024-03-23 10:55:23 +08:00
fec8a5de05 fix(components): [tree] the value of append can be zero (#16130) 2024-03-18 07:34:27 +08:00
442a4627a1 fix(components): [tree] remove duplicate type declaration (#16106)
fix(components): [tree] remove duplicate type declaration

Co-authored-by: s554595966@qq.com <sujunyan5545@dingtalk.com>
2024-03-12 16:03:56 +08:00
880417bbec test(components): [tree] setCheckedNodes with disabled node (#15753) 2024-02-02 15:06:43 +08:00
345a374362 fix(components): [tree] setCheckedNodes incorrectly checked node (#15377)
* fix(components): [tree] setCheckedNodes incorrectly checked node

* fix: update

* fix: update
2024-01-16 16:26:30 +08:00
ef4fbe3be2 feat(components): [tree] export TreeInstance (#15293) 2023-12-28 19:07:00 +08:00
6416bb24a4 test(components): [tree] filter expand loaded node (#15175) 2023-12-17 12:49:06 +08:00
d408533ca8 fix(components): [tree] node drag error when using custom allowDrop method (#15005)
fix(components): [tree] fix issue #14704

- Reset dragState.value.dropNode to null when allowDrop is transfered from true to false.(For issue #14704)

Co-authored-by: yongbo.zeng_U+ <yongbo.zeng@united-imaging.com>
2023-12-16 19:48:52 +08:00
834fb38c51 fix(components): [tree] filter expand loaded node (#15150) 2023-12-16 12:39:11 +08:00
23201e2f4d fix(components): [tree] default slots not displayed (#14939)
* fix(components): [tree] default slots not displayed

* test: add customize some node contents
2023-11-27 16:33:35 +08:00
c886ba44b1 test(components): [tree] custom label and children test case (#13902) 2023-08-08 19:38:22 +08:00
b10eae152c fix(components): [tree] the issue with retrieving childrenKey (#13798)
* fix(components): [tree] the issue with retrieving childrenKey

* Update tree-node.vue

* Update tree-node.vue
2023-08-07 21:31:43 +08:00
d46b3f3b2c fix(components): [tree] fix node can drop inner (#9770) 2023-06-27 22:26:11 +08:00