Vue-Select and Vue-Treeselect never got a stable Vue 3 release, so we replaced them
Description and use
In an app migrating from Vue 2.7 to Vue 3, vue-select and vue-treeselect lacked stable Vue 3 support. A new component, Vue Pick, was created to work on both versions, enabling immediate replacement of old selects and a smooth transition to Vue 3.
Problem
The app uses vue-select and vue-treeselect, which lack stable Vue 3 support, hindering migration from Vue 2.7 to Vue 3.
Outcome
Replacing vue-select and vue-treeselect with Vue Pick enabled a smooth migration from Vue 2.7 to Vue 3, preserving dropdown functionality without additional runtime dependencies.
Workflow
- Identify incompatible dropdown libraries (vue-select, vue-treeselect).
- Search for Vue 3 compatible forks – found only Vue 3‑only forks.
- Decide to create a cross‑version component.
- Develop Vue Pick with same props as original libraries, supporting search, multiselect, tree select, and server‑loaded children.
- Deploy Vue Pick in place of old selects while still on Vue 2.7.
- When migrating to Vue 3, change import path from "vue-pick/vue2" to "vue-pick".
- Verify functionality remains unchanged.
Evidence
vue-select only supports Vue 3 through its 4.0 beta, and the last beta came out in November 2022.
vue-treeselect's last release was in October 2019, and it only runs on Vue 2.
So I wrote Vue Pick, one component that runs on both Vue 2.7 and Vue 3 with the same props.
The only change at that point is the import path, vue-pick/vue2 to vue-pick.
- Record date: 2026-10-03T10:41:05.801Z