This repository was archived by the owner on Jun 28, 2026. It is now read-only.
File tree Expand file tree Collapse file tree
components/lib/multiselect Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -382,6 +382,66 @@ export const MultiSelect = React.memo(
382382 setClicked ( false ) ;
383383 } ;
384384
385+ const onFilterKeyDown = ( event ) => {
386+ switch ( event . code ) {
387+ case 'ArrowUp' :
388+ if ( props . inline ) {
389+ break ;
390+ }
391+
392+ onArrowUpKey ( event ) ;
393+ break ;
394+
395+ case 'ArrowDown' :
396+ if ( props . inline ) {
397+ break ;
398+ }
399+
400+ onArrowDownKey ( event ) ;
401+
402+ break ;
403+
404+ case 'NumpadEnter' :
405+ case 'Enter' :
406+ if ( props . inline ) {
407+ break ;
408+ }
409+
410+ onEnterKey ( event ) ;
411+ break ;
412+
413+ case 'Home' :
414+ if ( props . inline ) {
415+ break ;
416+ }
417+
418+ onHomeKey ( event ) ;
419+ event . preventDefault ( ) ;
420+ break ;
421+
422+ case 'End' :
423+ if ( props . inline ) {
424+ break ;
425+ }
426+
427+ onEndKey ( event ) ;
428+ event . preventDefault ( ) ;
429+ break ;
430+
431+ case 'Escape' :
432+ if ( props . inline ) {
433+ break ;
434+ }
435+
436+ hide ( ) ;
437+ break ;
438+
439+ case 'Tab' :
440+ onTabKey ( event ) ;
441+ break ;
442+ }
443+ } ;
444+
385445 const onSelectAll = ( event ) => {
386446 if ( props . onSelectAll ) {
387447 props . onSelectAll ( event ) ;
@@ -1169,6 +1229,7 @@ export const MultiSelect = React.memo(
11691229 getOptionValue = { getOptionValue }
11701230 updateModel = { updateModel }
11711231 onFilterInputChange = { onFilterInputChange }
1232+ onFilterKeyDown = { onFilterKeyDown }
11721233 resetFilter = { resetFilter }
11731234 onCloseClick = { onCloseClick }
11741235 onSelectAll = { onSelectAll }
Original file line number Diff line number Diff line change @@ -73,6 +73,7 @@ export const MultiSelectHeader = React.memo((props) => {
7373 role = "searchbox"
7474 value = { props . filterValue }
7575 onChange = { onFilter }
76+ onKeyDown = { props . onFilterKeyDown }
7677 className = "p-multiselect-filter"
7778 placeholder = { props . filterPlaceholder }
7879 pt = { ptm ( 'filterInput' ) }
Original file line number Diff line number Diff line change @@ -69,6 +69,7 @@ export const MultiSelectPanel = React.memo(
6969 getOptionValue = { props . getOptionValue }
7070 updateModel = { props . updateModel }
7171 onFilter = { onFilterInputChange }
72+ onFilterKeyDown = { props . onFilterKeyDown }
7273 filterPlaceholder = { props . filterPlaceholder }
7374 onClose = { props . onCloseClick }
7475 showSelectAll = { props . showSelectAll }
You can’t perform that action at this time.
0 commit comments