finds.dev← search

// the find

ecomfe/vue-echarts

★ 10,715 · TypeScript · MIT · updated Jun 2026

Vue.js component for Apache ECharts™.

A Vue 3 wrapper for Apache ECharts that handles the lifecycle glue work: init, resize, option diffing, and event binding. It's the standard choice if you're building data-heavy dashboards in Vue and don't want to manage ECharts instances manually. Maintained by the ECharts team itself, which matters.

The smart update planner is genuinely useful — it diffs option changes and decides between replaceMerge, notMerge, and partial updates so you don't have to. The graphic slot system (GRect, GGroup, etc.) lets you build declarative overlays in Vue template syntax instead of fighting ECharts' imperative graphic API. Provide/inject for theme and init-options means you configure once at the app level and every chart picks it up. The import code generator at vue-echarts.dev is a small thing that saves real time when doing tree-shaking setup.

The smart update planner is also a footgun: it's another layer of diffing between your state change and what ECharts actually does, and when it misreads your intent you get subtle rendering bugs that are hard to trace. Only the `.once` modifier works on ECharts events — no `.stop`, `.prevent`, or `.self`, which forces manual workarounds in common UI patterns. The graphic slot system is new and the interaction with `manual-update` mode is sharp-edged (setOption wipes graphic slot state). SSR support exists but ECharts itself has no real server-side rendering story, so you're getting a thin shim over a fundamentally client-side library.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →