From 901ada21f8a097c0c9fb566f228ff1adff9418a5 Mon Sep 17 00:00:00 2001 From: zhainaiyang Date: Thu, 22 Jan 2026 17:19:35 +0800 Subject: [PATCH 1/3] feat: add picker class --- src/components/picker/picker.vue | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/components/picker/picker.vue b/src/components/picker/picker.vue index b2f3dc582..f555d4494 100644 --- a/src/components/picker/picker.vue +++ b/src/components/picker/picker.vue @@ -235,7 +235,11 @@ observeDOM: false, useTransition: USE_TRANSITION }) + this.$nextTick(() => { + this._updateItemClass(wheel) + }) wheel.on('scrollEnd', () => { + this._updateItemClass(wheel) this.$emit(EVENT_CHANGE, i, this._getSelectIndex(wheel)) }) } else { @@ -279,6 +283,18 @@ } } return selectedIndex + }, + _updateItemClass(wheel) { + const items = Array.from(wheel.items) + const selectedIndex = this._getSelectIndex(wheel) + items.forEach((item, index) => { + item.classList.remove('is-active', 'is-near') + if (index === selectedIndex) { + item.classList.add('is-active') + } else if (index === selectedIndex - 1 || index === selectedIndex + 1) { + item.classList.add('is-near') + } + }) } }, beforeDestroy() { From b035cc1e253e68f3601ff7e11ed06a6044ebe7d3 Mon Sep 17 00:00:00 2001 From: zhainaiyang Date: Tue, 27 Jan 2026 15:28:16 +0800 Subject: [PATCH 2/3] fix: modify picker class name --- src/components/picker/picker.vue | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/components/picker/picker.vue b/src/components/picker/picker.vue index f555d4494..fda828d0a 100644 --- a/src/components/picker/picker.vue +++ b/src/components/picker/picker.vue @@ -288,11 +288,13 @@ const items = Array.from(wheel.items) const selectedIndex = this._getSelectIndex(wheel) items.forEach((item, index) => { - item.classList.remove('is-active', 'is-near') + item.classList.remove('cube-picker-is-active', 'cube-picker-is-near-top', 'cube-picker-is-near-bottom') if (index === selectedIndex) { - item.classList.add('is-active') - } else if (index === selectedIndex - 1 || index === selectedIndex + 1) { - item.classList.add('is-near') + item.classList.add('cube-picker-is-active') + } else if (index === selectedIndex - 1) { + item.classList.add('cube-picker-is-near-top') + } else if (index === selectedIndex + 1) { + item.classList.add('cube-picker-is-near-bottom') } }) } From a82aabe8a744c80d4e1278e985ec3583f8ed991a Mon Sep 17 00:00:00 2001 From: zhainaiyang Date: Tue, 27 Jan 2026 16:17:56 +0800 Subject: [PATCH 3/3] fix: modify picker class name --- src/components/picker/picker.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/picker/picker.vue b/src/components/picker/picker.vue index fda828d0a..464342a48 100644 --- a/src/components/picker/picker.vue +++ b/src/components/picker/picker.vue @@ -288,13 +288,13 @@ const items = Array.from(wheel.items) const selectedIndex = this._getSelectIndex(wheel) items.forEach((item, index) => { - item.classList.remove('cube-picker-is-active', 'cube-picker-is-near-top', 'cube-picker-is-near-bottom') + item.classList.remove('cube-picker-wheel-item_active', 'cube-picker-wheel-item_top', 'cube-picker-wheel-item_bottom') if (index === selectedIndex) { - item.classList.add('cube-picker-is-active') + item.classList.add('cube-picker-wheel-item_active') } else if (index === selectedIndex - 1) { - item.classList.add('cube-picker-is-near-top') + item.classList.add('cube-picker-wheel-item_top') } else if (index === selectedIndex + 1) { - item.classList.add('cube-picker-is-near-bottom') + item.classList.add('cube-picker-wheel-item_bottom') } }) }