From 4cfa62f29e7c0ebf1e5a2c59106f21d5c51e2f32 Mon Sep 17 00:00:00 2001 From: mertsincan Date: Tue, 17 Aug 2021 11:24:42 +0300 Subject: [PATCH] Refactor #1451 - For keyboard support on Dropdown --- src/components/dropdown/Dropdown.vue | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/components/dropdown/Dropdown.vue b/src/components/dropdown/Dropdown.vue index 70902eb2d..6e1b6a87e 100755 --- a/src/components/dropdown/Dropdown.vue +++ b/src/components/dropdown/Dropdown.vue @@ -138,6 +138,11 @@ export default { overlayVisible: false }; }, + watch: { + modelValue() { + this.isModelValueChanged = true; + } + }, outsideClickListener: null, scrollHandler: null, resizeListener: null, @@ -148,6 +153,14 @@ export default { overlay: null, itemsWrapper: null, virtualScroller: null, + isModelValueChanged: false, + updated() { + if (this.overlayVisible && this.isModelValueChanged) { + this.scrollValueInView(); + } + + this.isModelValueChanged = false; + }, beforeUnmount() { this.unbindOutsideClickListener(); this.unbindResizeListener(); @@ -611,7 +624,7 @@ export default { if (this.overlay) { let selectedItem = DomHandler.findSingle(this.overlay, 'li.p-highlight'); if (selectedItem) { - this.itemsWrapper.scrollTop = selectedItem.offsetTop; + selectedItem.scrollIntoView({ block: 'nearest', inline: 'start' }); } } },