Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

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.

Source

vue-treeselect's last release was in October 2019, and it only runs on Vue 2.

Source

So I wrote Vue Pick, one component that runs on both Vue 2.7 and Vue 3 with the same props.

Source

The only change at that point is the import path, vue-pick/vue2 to vue-pick.

Source

  • Record date: 2026-10-03T10:41:05.801Z