73 Commits

Author SHA1 Message Date
398b5971c3 fix(components): [cascader-panel] ensure set null after clear (#21652)
* fix: 21650

* Update index.vue

* Update index.vue

* add testcase

* Update cascader-panel.test.tsx

* fix: remove duplicate calls

* chore: add btea solution

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

---------

Co-authored-by: Dsaquel <291874700n@gmail.com>
Co-authored-by: btea <2356281422@qq.com>
2025-08-13 22:05:25 +08:00
bce22dd10d fix(components): allow null type on empty-values components (#21582)
* fix(components): allow null type on empty-values components

* refactor(hooks): [empty-values]: allow plain null for `value-on-clear`
2025-08-01 12:27:19 +02:00
907b7b2766 feat(components): [cascader] add check-on-click-leaf attribute (#21508)
* feat(components): [cascader] add `check-on-click-leaf` attribute

* chore: chore
2025-08-01 10:31:17 +08:00
7ec0f3a442 feat(components): [cascader] add checkOnClickNode and prefix prop (#21089)
* feat(components): [cascader] Hide radio in single mode

* feat(components): [cascader] Renamed prop to \`selectOnClick\`

* feat(components): [cascader] Update doc

* feat(components): [cascader] Adjust how data is fetched

* feat(components): [cascader] update type

* Update packages/components/cascader-panel/src/node-content.ts

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

* feat(components): [cascader] Merge and fix v-model bug

* feat(components): [cascader] Renamed to checkOnClickNode

* feat(components): [cascader] Renamed to checkOnClickNode

* feat(components): [cascader] merge

* feat(components): [cascader] Add a check

* feat(components): [cascader] Add test case

* feat(components): [cascader] Fix type error

* feat(components): [cascader] Add checkOnClickNode, showRadio props

* feat(components): [cascader] Update doc

* Update packages/components/cascader/src/cascader.ts

Done, thanks!

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

* fix: showRadio defaults checkOnClickNode

* test: showRadio fallback behavior

* refactor: rename prop and support checkOnClickNode for multiple mode

* doc:update

* Update packages/components/cascader-panel/src/config.ts

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

* docs: tweak props

* docs: update doc

* chore: update doc & fix toggle check

* Update docs/en-US/component/cascader.md

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

* Update docs/en-US/component/cascader.md

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

* Update docs/en-US/component/cascader.md

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

* Update cascader-panel.test.tsx

---------

Co-authored-by: WANGXIAOYU1995 <109521682+WANGXIAOYU1995@users.noreply.github.com>
Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>
Co-authored-by: btea <2356281422@qq.com>
Co-authored-by: Dsaquel <291874700n@gmail.com>
2025-07-22 17:23:20 +08:00
7b6858374a fix(components): [cascader] dynamic options render error (#21405)
* fix(components): [cascader] dynamic optios render error

* fix: remove debugger

* fix: update

* test: dynamic options
2025-07-19 03:21:57 +02:00
8b0c061b74 test(components): [cascader] update (#21329) 2025-07-12 16:58:50 +02:00
8b26d34017 test: [cascader] single mode select first option (#21325) 2025-07-12 15:21:50 +02:00
66b9a88235 fix(components): [cascader] single selection fails (#21317)
fix(components): [cascader] checkStrictly is true select fail
2025-07-11 17:09:37 +08:00
47ea8e855e fix(components): [cascader-panel] avoid multiple init invokes (#20892)
chore: improve
2025-06-24 14:43:58 +02:00
29f5783d81 refactor(components): [cascader-panel] remove @ts-nocheck and optimize code (#20014)
* refactor(components): [CascaderPanel] remove tsnocheck and optimize code

* chore: chore

* revert: revert

* chore: add menu type

* chore: remove tsnocheck

* revert: revert

* revert: revert

* refactor: use setup syntax

* fix: type

* chore: add line

* chore: chore

* chore: add update:modelValue Events

* chore: format

* chore: revert

* chore: chore

* fix: error

* chore: remove any and code loss

* fix: code loss

* fix: code loss

---------

Co-authored-by: warmthsea <2586244885@qq.com>
2025-06-23 17:09:40 +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
c493763f70 fix(components): [cascader-panel] check if children label are comments (#20899)
* fix(components): [cascader-panel] check if children label are comments

* refactor: better

* chore: fix type

Co-authored-by: dopamine <coderzyou@gmail.com>

* chore: fix type v2

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

* chore: review & test

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

---------

Co-authored-by: dopamine <coderzyou@gmail.com>
Co-authored-by: btea <2356281422@qq.com>
2025-06-04 12:19:49 +08:00
e19fea2ed7 fix(components): [cascader] scrolling to active node is inaccurate (#20877) 2025-05-28 23:28:38 +08:00
dad393b92c fix(components): [cascader-panel] value can be an empty string (#20731) 2025-05-23 11:30:26 +08:00
sea
1084071fcf chore(eslint-config): add newline-after-import rules (#20309)
chore: add `newline-after-import` rules
2025-03-31 20:48:10 +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
472346f81e chore: use a closing svg tag (#20018) 2025-03-04 09:06:08 +08:00
6ae39f2176 chore(components): [cascader-node] remove ts-nocheck and fix type error (#19776)
* chore(components): [CascaderNode] remove ts-nocheck and fix type error

* chore: format

---------

Co-authored-by: warmthsea <2586244885@qq.com>
2025-02-07 08:24:07 +00:00
b336dff189 fix(components): [cascader-panel] lazy return children can't get value (#19100)
* fix(components): [cascader-panel] lazy return children can't get value

fix #9157

closed #9157

* fix: update
2025-01-24 17:03:16 +08:00
343cacf5cc fix(components): numpadEnter does not work like the Enter (#18855) 2024-11-14 21:14:51 +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
ca677519b9 feat(components): [cascader-panel] add empty slot (#16274)
* feat(components): [cascader] add `empty-panel` slot

* chore: update version tag

* chore: update

* feat: rename empty-panel to empty

* chore: format

* test: add test case

* test: update

* Update docs/en-US/component/cascader.md
2024-09-13 09:34:40 +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
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
e35f403515 fix(types): non-null assertion component name (#16804) 2024-05-15 09:24:42 +08:00
47d6aa05ca fix(components): [cascader-panel] get the reactive proxy of node to trigger side effects (#16198)
* fix(cascader-panel): get the reactive proxy of `node` to trigger side effects

* remove redundant code

* add a test case
2024-03-22 17:46:31 +08:00
a38893fc4e fix(components): [cascader-panel] SSR hydration error caused by ID (#15533) 2024-01-16 22:32:09 +08:00
69dcee0a51 fix(components): [cascader] checkbox sync error (#11462)
* fix(components): [cascader] sync error

* fix(components): [cascader] checkbox sync error
2023-08-02 19:22:36 +08:00
105d79b0d9 refactor: extract isClient and isNumber isBoolean (#12504)
* refactor: extract isClient and isNumber isBoolean

* test: update test

* refactor: extract isClient to browser
2023-04-20 20:00:49 +08:00
Xc
dbb28cf1df feat(components): [cascader] Adjust expose and typo (#11781)
* feat(components): [cascader] Adjust expose and typo

* feat(components): [cascader] instances rename
2023-03-10 15:29:30 +08:00
Xc
aba0d26537 docs(components): [cascader] (#11556)
* docs(components): [cascader]
* Update cascader docs with new syntax.

* docs(components): [cascader]
* Update cascader docs with new syntax.

* docs(components): [cascader]
* Update cascader docs with new syntax.

* docs(components): [cascader]

* docs(components): [cascader]

* docs(components): [cascader] add type declarations

* docs(components): [cascader] add type declarations

* docs(components): [cascader] add type declarations

* docs(components): [cascader] add type declarations
2023-02-17 13:59:52 +08:00
9f76a5c11b fix(components): [cascader-panel] clear active style (#11495)
Clears the active style when the clear button of the cascader is pressed

closed #11484

Co-authored-by: t1.higashi <t1.higashi@info-sense.co.jp>
2023-02-11 10:39:13 +09:00
Xc
8af11281f0 refactor(components): [cascader] use script-setup syntax (#11013) 2022-12-20 10:56:17 +08:00
Xc
aafdafa555 fix(components): [cascader] modelValue update problem (#10119)
* fix(components): [cascader] modelValue update problem

* fix(components): [cascader-panel] modelValue update

* fix(components): [cascader] use cloneDeep
2022-10-19 15:27:17 +08:00
df642f4ee3 fix(components): [cascader-panel] fix type error (#9753) 2022-09-14 14:17:14 +08:00
3b264a106f refactor(components): [cascader-panel] use JSX in Unit test (#9710) 2022-09-09 06:53:29 +09:00
2622f86b99 feat(components): CascaderProps expandTrigger enum to type (#9265)
* feat:  CascaderProps expandTrigger enum to type

* feat: reduce repetition

Co-authored-by: UT003392 <hanchaowei@uniontech.com>
2022-09-02 11:05:55 +08:00
f9aeeca8ae fix(components): [cascader] pass forced param to syncMenuState (#8794) 2022-07-27 12:44:22 +08:00
7097940f4a refactor: add ts-nocheck and check all files (#8401) 2022-06-22 08:04:42 +08:00
e1b88263e3 feat(components): [popper] focus trap and a11y (#7736)
* feat(components): [popper] fix focus traps

* feat(components): [popper] add focus trap tests

Co-authored-by: JeremyWuuuuu <15975785+JeremyWuuuuu@users.noreply.github.com>
2022-05-20 18:13:27 +08:00
60483d4100 fix(components): [cascader] disabled option can't trigger cancel checked (#7604) 2022-05-16 21:11:07 +08:00
1d13ebb05d feat: drop jest (#7248)
* feat: drop jest

* test: remove ssr

* test: rename

* chore: update tsconfig
2022-04-19 16:51:44 +08:00
de0ee53cf0 test(components): switch all components to vitest (#7205)
Co-authored-by: 三咲智子 <sxzz@sxzz.moe>
2022-04-19 12:46:57 +08:00
Xc
2b40ea8145 fix: Cascader Unexpected display 'No Data' (#6815)
Co-authored-by: xiaochenchen <xiaochen.chen@igg.com>
2022-03-25 15:43:35 +08:00
184facdb4c chore: add eslint rule sort imports (#6823) 2022-03-25 15:35:56 +08:00
5d85fba20c chore: self closing vue tag (#6603) 2022-03-13 16:16:11 -04:00
e10a1e4c9d fix(ci): fix cascader ns querySelector class (#6552) 2022-03-12 13:46:36 +08:00
103bb1b104 feat(components): [cascader]add collapse-tags-tooltip (#6331) 2022-03-11 15:58:00 +08:00
b8c38a9fe5 chore: enhance eslint rules (#6476)
* chore: enhance eslint rules

* chore: enhance eslint rules
2022-03-08 14:03:32 +08:00
5a9d5ea5fb refactor(components): [cascader,cascader-panel] add namespace (#5589)
Co-authored-by: 三咲智子 <sxzz@sxzz.moe>
2022-03-07 22:30:45 +08:00