Commit Graph

263 Commits

Author SHA1 Message Date
Spaceman
3ba25b9759 fix(components): [select/select-v2] prevent dropdown closing on mixed input (#22869)
* fix(components): [select] prevent dropdown closing on mixed input

fix #22853

* fix(components): [select] prevent dropdown closing on mixed input
2025-12-09 09:35:47 +08:00
qiang
f23c2d3ee1 fix(components): [select] ensure dropdown remains open when filterable (#22975) 2025-12-01 21:21:26 +08:00
btea
2d64179491 refactor!: the disabled value of component has the highest priority (#18739)
* refactor!: the disabled value of component has the highest priority

* fix: update

* fix: compatible with switch loading

* feat: apply to cascader, select, select-v2

* fix: update

* fix: update selectv2

* fix: update autocomplete

* fix: date-picker-panel

* fix: update rate/slider/upload

* fix: slider error

* fix: update checkbox

* fix: checkbox error
2025-12-01 21:20:57 +08:00
reex
8ca2ad7ecb fix(components): [select] skip process keydown.enter in composing (#22861)
fix(components): [select] skip process keydown.enter event in composing state

Co-authored-by: reexliu <reexliu@tencent.com>
2025-11-24 17:42:58 +08:00
Rainbow
0b1a57f23d fix(components): [select/select-v2] correct the trigger timing of visible-change (#22897)
fix(components): correct the trigger timing of visible-change
2025-11-22 23:14:53 +08:00
Putia3
1375b3e604 fix(components): [select] shouldn't add is-hovering to disabled option (#22845)
fix(components): [select] shouldn't add "is-hovering" when disabled
2025-11-22 17:14:32 +08:00
Rainbow
439c0b5b88 improvement(components): [select/select-v2] hoveringIndex stays on the most recently selected option with multiple (#22782)
* improvement: hoveringIndex stays on the last selected option

* improvement: update

---------

Co-authored-by: rzzf <cszhjh@gmail.com>
2025-11-20 15:09:16 +08:00
Rainbow
3243b71e37 improvement(components): [select] locate the most recently selected option when using multiple (#22753)
* improvement: locate the most recently selected one when using multiple

* test: add test case
2025-11-20 14:45:53 +08:00
Map1en
21a651b13d fix(components): [select] after the last select unmounts memory leak issue (#22764)
* fix(components): after the last select unmounts memory leak issue

* fix: avoid intercepting info from other components

---------

Co-authored-by: btea <2356281422@qq.com>
2025-11-15 10:33:07 +08:00
yicheny
581a83a9b9 fix(components): [select] sync label when persistent is false and options change (#22755)
fix(components): sync label when persistent=false and options change

- Rehydrate options from slot vnodes on slots/model change when dropdown is closed

BREAKING CHANGE: Closes #22754

closed #22754

Co-authored-by: alex.yang <alex.yang@hytechc.com>
2025-11-12 22:37:20 +08:00
Putia3
e47acb7ac7 fix(components): [select] shouldn't display the input box when disabled (#22767)
fix(style): [select]Do not display the input box when disabled
2025-11-12 22:20:03 +08:00
rzzf
5868853923 fix(components): [select] unable to select options using NumpadEnter (#22715) 2025-11-07 10:16:31 +08:00
Noblet Ouways
34db6aedc3 fix(components): [select] allow delete non existant option (#22706) 2025-11-06 10:49:05 +08:00
snowbitx
0877f73cdd feat(components): [select] support home and end key events (#22446)
* feat(components): [select] support home and end key events

* fix: keydown end error

* fix: filterable input

* fix: keydown stop error

* refactor: change default behavior and fix disabled

* Update packages/components/select/src/useSelect.ts

Co-authored-by: Zhong <cszhjh@gmail.com>

* Update packages/components/select/src/useSelect.ts

Co-authored-by: Zhong <cszhjh@gmail.com>

* Update packages/components/select/src/useSelect.ts

Co-authored-by: Zhong <cszhjh@gmail.com>

* fix: build error

* refactor: use inline function

---------

Co-authored-by: Zhong <cszhjh@gmail.com>
2025-10-29 15:54:25 +08:00
Zhong
2dca78bd76 fix(components): [select] scrolling is not triggered when the option value is zero (#22578)
* fix(components): [select] scroll missing when first option value is zero

* test: add case

* test: update
2025-10-25 11:58:21 +02:00
Lensiq
d66daf3e2b fix(components): [select] prevent duplicate option registration (#22541)
* fix(components): [select] prevent duplicate option registration

* fix: update

* chore: add test

* fix: update

* Update packages/components/select/src/select.vue

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

---------

Co-authored-by: Zhong <cszhjh@gmail.com>
Co-authored-by: btea <2356281422@qq.com>
2025-10-22 16:51:23 +08:00
btea
d871117c68 fix(components): [select] should not affect global config (#22544) 2025-10-21 09:48:33 +02:00
Rainbow
b917fafccc feat(components): [select/select-v2] support debounce prop (#22471)
* feat(components): [select/select-v2] support debounce prop

* feat: update

* feat: update

* feat: update

* docs: update version number

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update
2025-10-20 10:46:24 +08:00
Rainbow
7d1f52127f fix(components): [select] loading appears on first click when remote (#22323)
* fix(components): [select] loading appears on first click when remote

* test: add test case
2025-10-09 23:00:06 +02:00
一只前端汪
7c16480bcd refactor(style): Update Eslint to V9 and Prettier to V3 (#21949)
* refactor(style): Update Eslint to V9 and Prettier to V3

* fix: vscode color

* fix: vscode color

* chore: remove Useless dependence and old config file

* chore: format

* Merge branch 'dev' into eslintV9

* fix: fix

* fix: ssr test

* fix: ssr test

* fix: use defineConfig

* fix: prettier format and ignore docs dist

* fix: index.mjs => index.js

* fix: Vscode color

* fix: prettier ignore global.d.ts

* fix: format

---------

Co-authored-by: 2586740555 <15972343+CYJ090915@user.noreply.gitee.com>
2025-09-29 14:14:30 +08:00
kooriookami
80850b4cb3 fix(components): [select] fix label not show when persistent is false (#22317)
* fix(components): [select] fix label not show when persistent is false

* fix(components): [select]

* fix(components): [select]

* fix(components): [select]
2025-09-26 13:45:31 +08:00
qiang
9043e16d94 fix: the KeyboardEvent.code is always empty string on Android (#22228)
closed #20330
2025-09-21 01:23:38 +02:00
sea
cd2285f5bb chore: add consistent-type-imports eslint rules to .ts file (#22195)
* chore: add import type rules to .ts

* chore: update

* chore: update
2025-09-17 10:11:26 +08:00
DDDDD12138
8a91f204fd feat(components): [select/v2] avoid unnecessary model updates when value unchanged (#20123)
* feat: avoid unnecessary model updates when value unchanged

* chore: update cSpell words

* fix: correct test case

* feat: support select-v2

* Update .vscode/settings.json

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

---------

Co-authored-by: sea <45450994+warmthsea@users.noreply.github.com>
2025-09-14 10:37:45 +08:00
一只前端汪
3d7fcdadab fix(components): [select/v2] width of drop-down panel exceeds the input (#21910)
* fix(components): [select/V2] width of dropdown panel exceeds the input

* fix(components): [select/V2] width of drop-down panel exceeds the input

* fix: select constants

* fix: select

---------

Co-authored-by: 2586740555 <15972343+CYJ090915@user.noreply.gitee.com>
2025-08-29 15:10:36 +08:00
Noblet Ouways
853df25476 feat(components): [select/v2] add index to label slot (#21884)
* feat(components): [select/v2] add index to label slot

* chore: simplify

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

* chore: fix edge cases

---------

Co-authored-by: btea <2356281422@qq.com>
2025-08-25 18:49:02 +02:00
micaiguai
2ccb268e82 fix(components): [select & select-v2] avoid line break when input is empty (#21844)
* fix(components): select

Give some space to the input field

* fix(components): [select]

fix(components): [select] Add the judgement of filterable

* fix(components): [select-v2] Give some space to the input field

Give some space to the input field

* fix(components): [select-v2 & select & input] Create constants/form.ts

Create a form.ts file to store the MINIMUM_INPUT_WIDTH constant
2025-08-22 16:10:21 +08:00
Noblet Ouways
7644c1fe4a feat(components): [cascader/select/date-picker] add popper-style (#21807)
* feat(components): add popper style

* test: enforce ci passing

* chore: handle select-v2 & apply review

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

* chore: bump for select component

---------

Co-authored-by: btea <2356281422@qq.com>
2025-08-21 10:46:06 +02:00
Noblet Ouways
c83b99d2f2 feat(components): unify clear btn display on focus (#21732)
* feat(components): unify clear btn display on focus

* test: add tests

* chore: apply review
2025-08-18 10:54:32 +02:00
Zhong
56b6cb0e9b feat(components): [select] add support for option groups in options (#21692)
* feat(components): [select] add support for option groups in `options`

* chore: format
2025-08-15 11:10:36 +02:00
qiang
826373a133 fix(components): [select] click outside should lose focus (#21702)
* fix(components): [select] click outside should lose focus

* chore: add test
2025-08-11 14:44:03 +08:00
Noblet Ouways
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
btea
19842d428d fix(components): [select] ResizeObserver loop completed with undelivered notifications (#21559) 2025-07-31 13:51:09 +02:00
snowbitx
dbbacae7d1 feat(components): [select] support options prop rendering (#21203)
* feat(components): [select] support options prop rendering

* feat(components):[select] format

* feat(components):[select] format

* Update packages/components/select/src/select.vue

Thanks for the guidance!

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

* Update packages/components/select/src/select.vue

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

* Merge remote-tracking branch 'upstream/dev' into feat/autocomplete-size

* feat(components): [select] format

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

* feat(components): [select] Add doc

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

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

* feat(components): [select] Code optimization

* feat(components): [select] Code optimization

* feat(components): [select] format

* feat(components): [select] format

* docs: refact

* refactor: simplify

* chore: useless diff change

* Update shared.ts

* Update message.ts

* Update popper.ts

* Update result.ts

* Update form-item.ts

* Update cascader-panel.test.tsx

* chore: useless change

* Update select.vue

* Update option.vue

* Update select.vue

---------

Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>
Co-authored-by: Dsaquel <291874700n@gmail.com>
2025-07-29 09:54:30 +08:00
snowbitx
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
snowbitx
a5582a78f3 fix(components): [option] delete newly created option (#21324)
*fix(components): [option] delete newly created option

* Update option.vue
2025-07-14 09:55:11 +08:00
Noblet Ouways
ed29cf0dfb docs: fix examples & type consistency (#21333)
* docs(components): [select] fix consistency

* chore: remove all `:height="208"`
2025-07-14 09:42:58 +08:00
btea
173c1cbfd7 fix(components): [select] custom warnHeandler cause memory leak (#21284) 2025-07-09 10:50:28 +02:00
yuhengshen
cfc661c626 feat(types): [components] add public prop types (#21222)
* feat(types): [utils] add ExtractPublicPropTypes type

* feat(types): [components] add props public type

* chore(types): use type-only import for Prop from 'vue'

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

---------

Co-authored-by: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>
2025-07-07 00:51:32 +08:00
btea
1e28b08bcb fix(components): [select/select-v2] apply popper-class to tag tooltip (#21212) 2025-07-02 17:15:42 +08:00
qiang
b881ef25cb refactor(hooks): [useFocusController] add disabled attribute (#21032)
refactor(hooks): [useFocusController] add disabled prop

Co-authored-by: warmthsea <2586244885@qq.com>
2025-07-01 08:41:35 +00:00
Noblet Ouways
4f8cca0f6c feat(components): [select/select-v2/cascader] expose more tag options (#21157)
* feat(components): [select/select-v2] bind `data` for tag slot

* chore: remove console.log

* feat: expose `deleteTag` aswell

---------

Co-authored-by: warmthsea <2586244885@qq.com>
2025-06-29 13:17:20 +00:00
baozj
524f901045 feat(components): [select] expose selectDisabled prop to #tag slot (#21093)
* feat(components): [select] expose selectDisabled prop to #tag slot

* feat(components): [select] expose selectDisabled and update docs

* feat(components): [select-v2] expose selectDisabled to #tag slot

Add example demonstrating how to use selectDisabled in custom tag rendering.

* docs(components): [select, select-v2] add selectDisabled to #tag slot

* docs(components): [select, select-v2] remove tag-disabled.vue examples

---------

Co-authored-by: baozhangjie <jay.bao@photonpay.com>
2025-06-29 20:59:04 +08:00
btea
880de62fee fix(components): [tree-select] value label rendering error (#20947)
* fix(components): [tree-select] value label rendering error

* Update packages/components/select/src/select.vue

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: update

* fix: update

* fix: lint

* test: case

* fix: lint

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-11 21:37:04 +08:00
Jeff
6f8e91f771 refactor(components): [select] modify manuallyRenderSlots execute (#20854)
* refactor(components): [select] modify `manuallyRenderSlots` execute

* refactor(components): [select] modify ’manuallyRenderSlots‘ execute

* fix(components): [select] fix render slots attempt when persistent=false

* fix: remove duplicate judgments

---------

Co-authored-by: Dsaquel <291874700n@gmail.com>
Co-authored-by: btea <2356281422@qq.com>
2025-06-06 08:56:35 +08:00
sea
47bf23be53 refactor: [select, select-v2]: unified name & supplement type (#20050)
* chore: update

* chore: update
2025-06-04 17:46:56 +08:00
伊墨
b31e727edd fix(components): [select] display exception when label is 0 or "" (#20905)
* fix(components): [option] display exception when label is `0` or `""`

* test: add test case
2025-06-03 01:07:37 +00:00
btea
8ddbb1d85a fix(components): [select] select value label rendering error (#20769)
* fix(components): [select] select value label rendering error

* chore: comment

* fix: update

* fix: update

* feat: manual render

* refactor: immediate watch

* test: update

* test: with multiple
2025-05-21 13:54:59 +08:00
betavs
ec6e0c51a5 fix(components): [select] update selection width calculation (#20615)
* fix(components): [select] update selection width calculation

* fix(components): [select-v2] update selection width calculation
2025-05-01 18:23:23 +08:00
betavs
5f519a6f25 refactor(components): unify append-to prop type across multiple components (#20501)
* fix(components): [select] update `append-to` prop type

* fix(components): unify `append-to` prop type across multiple components

* docs: update `append-to` prop type
2025-04-22 09:29:19 +08:00