[Open Source] A UI framework compatible with Vue 3 and Vue 2 for rapid multi-platform development, supporting individual component imports and ready-to-use functionality.
![[Open Source] A UI framework compatible with Vue 3 and Vue 2 for rapid multi-platform development, supporting individual component imports and ready-to-use functionality.](https://yy123.ink/api/img/1782607385984-v41rm9.jpg)
1. Project Overview

uv-ui
A UI framework compatible with Vue 3 and Vue 2 for rapid multi-platform development
uv-ui: A comprehensive ecosystem framework based on uni-app and uView2.x, designed to support Vue 3, Vue 2, apps, H5, and mini-programs. Supports individual component imports and works out of the box.
2. Open Source License
Licensed under MIT
3. Screenshots




4. Feature Overview
uv-ui Features
-
The Evolution of uv-ui: uv-ui is derived from the uview2.x version. It was renamed to avoid release conflicts and address situations where many components prefixed with u- cannot be used in nvue. This led to the creation of uv-ui. Thanks to the uview-ui author for their open-source contributions. Another round of applause for open source! uv-ui is also fully open source without any restrictions.
-
Full Platform Compatibility: uv-ui supports Vue 3, Vue 2, app-vue, app-nvue, H5, mini-programs, and more. All uv-ui components automatically adapt to multiple platforms, with the underlying implementation handling many differences and bugs across mini-program platforms.
-
Extended Configuration: Built-in uv-ui methods are no longer mounted on the uni object by default, which means you cannot directly use built-in methods through uni.$uv.xxx in your project under the default configuration. However, this can be resolved through extensions by following the configuration instructions below. For usage details, refer to Extended Configuration. This includes the JS utility library, custom themes, base styles, setconfig, and more.
Component List
The following table lists the extended components available in uv-ui. Click Download & Install for any component to import it into your project on its detail page. After importing, it is recommended to restart the project so the component can be used immediately. No import statements or component registration are required.
|
Component Name |
Component Description |
|
uv-skeletons |
New Skeleton Screen (Recommended) |
|
uv-calendars |
New Calendar (Recommended) |
|
uv-drop-down |
Dropdown Filter |
|
uv-scroll-list |
Horizontal Scrolling List |
|
uv-vtabs |
Vertical Tabs |
|
uv-pick-color |
Color Picker |
|
uv-qrcode |
QR Code |
|
uv-waterfall |
Waterfall layout. |
|
uv-row |
Layout |
|
uv-icon |
Icon |
|
uv-button |
Button |
|
uv-text |
Text |
|
uv-link |
Hyperlink |
|
uv-image |
Image |
|
uv-transition |
Animation |
|
uv-form |
Forms |
|
uv-input |
Enhanced Input |
|
uv-textarea |
Enhanced Textarea |
|
uv-checkbox |
Checkbox |
|
uv-radio |
Radio |
|
uv-switch |
Toggle Switch |
|
uv-calendar |
Calendar |
|
uv-picker |
Picker |
|
uv-datetime-picker |
Time picker. |
|
uv-code |
Verification Code Countdown |
|
uv-keyboard |
Keyboard |
|
uv-rate |
Rate |
|
uv-search |
Multifunctional Search Box |
|
uv-number-box |
Stepper |
|
uv-upload |
Upload |
|
uv-slider |
Slider |
|
uv-list |
List |
|
uv-index-list |
Index List |
|
uv-tags |
Tag |
|
uv-line-progress |
Linear Progress Bar |
|
uv-badge |
Badge Count |
|
uv-count-down |
Countdown |
|
uv-count-to |
Number Scrolling |
|
uv-avatar |
Avatar |
|
uv-skeleton |
Skeleton |
|
uv-loading-icon |
Loading Animation |
|
uv-loading-page |
Loading Page |
|
uv-load-more |
Load More |
|
uv-empty |
Empty State |
|
uv-tooltip |
Long Press Tooltip |
|
uv-alert |
Alert |
|
uv-toast |
Message Notification |
|
uv-notice-bar |
Scrolling Notification |
|
uv-notify |
Message Notification |
|
uv-no-network |
No Network Notification |
|
uv-popup |
Popup |
|
uv-modal |
Modal |
|
uv-cell |
Cell |
|
uv-swipe-action |
Swipeable Cell |
|
uv-swiper |
Carousel |
|
uv-collapse |
Collapse |
|
uv-grid |
Grid Layout |
|
uv-album |
Photo Gallery |
|
uv-tabbar |
Bottom Navigation Bar |
|
uv-back-top |
Back to Top |
|
uv-navbar |
Custom Navigation Bar |
|
uv-action-sheet |
Bottom Action Menu |
|
uv-tabs |
Tabs |
|
uv-steps |
Steps |
|
uv-subsection |
Segmented Control |
|
uv-sticky |
Sticky Header |
|
uv-parse |
Rich Text Parser |
|
uv-overlay |
Overlay |
|
uv-code-input |
Verification Code Input |
|
uv-read-more |
Expand to Read More |
|
uv-line |
Line |
|
uv-gap |
Spacer |
|
uv-divider |
Divider |
5. Tech Stack
Quick Start
Method 1: uv-ui strongly recommends downloading the plugin and importing it into HBuilderX to import the components.
Method 2: Download the complete uv-ui project and copy uni_modules into your own project.
Method 3: Download via npm i @climblee/uv-ui. This method requires configuring easycom. For configuration details, see Installation.
Please refer to the Quick Start guide for more detailed information.
Note: After importing the plugin, it is recommended to restart the project in HBuilderX. Newly imported plugins may not update in real time, which could cause the project to fail to run.
Usage
After importing components into uni_modules, you can use them directly in your project without importing them via import statements.
Extended Features
uv-ui includes powerful built-in utility functions, request wrappers, and more. You can configure extensions according to your needs. For details, please refer to Extended Configuration.
Note: You must configure extensions before using the component library's built-in methods, variables, and other features in your own project pages.