▶_MiniApp Toolkit

uview-plus

UI 库活跃维护

uni-app 全面兼容 nvue 的跨端 UI 组件库,fork 自 uView 2.0 并持续维护。60+ 精选组件,支持微信/支付宝/百度/抖音/QQ 小程序 + H5 + App,按需引入,easycom 自动导入,现代化文档与演示。

711🕒 最近更新 2026-07
UI组件库uni-appnvueVue3多端easycom

特性

  • 60+ 高质量精选组件
  • 全面兼容 nvue(原生渲染)
  • 微信/支付宝/百度/抖音/QQ 小程序 + H5 + App 全端覆盖
  • easycom 自动按需引入
  • 众多 JS 工具函数(请求、路由、格式化等)
  • 常用页面模板与布局
  • 暗黑模式
  • 国际化支持
  • 主题定制(SCSS 变量)

详细文档

uview-plus — uni-app 全面兼容 nvue 的跨端 UI 组件库#

资源概述#

uview-plus 是基于 uView 2.0 的社区维护分支,为 uni-app 提供全面兼容 nvue 的 UI 组件库。原 uView 2.0 项目已停止维护,uview-plus 接过了 uni-app Vue2/Vue3 生态 UI 库的接力棒,持续修复 Bug、适配新平台并新增组件。

GitHub Stars: 711 · Forks: 209 · 语言: JavaScript · 许可证: MIT

核心特性#

  • 60+ 精选组件:涵盖基础组件、表单、布局、导航、数据展示、媒体等完整分类
  • 全面兼容 nvue:App 端原生渲染,性能优异
  • 全端覆盖:微信/支付宝/百度/抖音/QQ 小程序 + H5 + App(iOS/Android)
  • easycom 自动导入:配置后无需手动 import,直接使用 <up-*> 组件
  • 丰富工具函数:HTTP 请求封装、路由跳转、数据格式化、节流防抖等
  • 页面模板:内置常用页面与布局,快速搭建应用骨架
  • 按需引入:支持 tree-shaking,精简打包体积

与原 uView 2.0 的关系#

维度uView 2.0(原版)uview-plus(fork)
维护状态❌ 已停更✅ 活跃维护
Vue 3部分支持完整支持
nvue 兼容部分全面兼容
npm 版本2.0.x(停在 2.0.39)3.8.86(286 版本,持续迭代)
鸿蒙 Next✅ 适配中

设计规范#

组件分类#

分类代表组件说明
基础Button、Icon、Image、Link页面基础元素
表单Input、Textarea、Select、Picker、Upload、Form完整表单方案
布局Row、Col、Grid、Cell、Card栅格 + 弹性布局
导航Tabs、Navbar、Tabbar、Dropdown多级导航
数据展示Table、List、Tag、Badge、Skeleton数据可视化
反馈Toast、Modal、Loading、ActionSheet交互反馈
媒体Swiper、Image、Video、Cropper多媒体组件
工具http、route、format、testJS 工具函数

主题系统#

uview-plus 通过 SCSS 变量驱动主题,在 uni.scss 中覆盖即可:

code
// 覆盖主色
$u-primary: #2979ff;
$u-primary-light: #a0cfff;
$u-primary-dark: #2b85e4;
$u-primary-disabled: #9db7ff;

审核规范#

uview-plus 编译产物为标准小程序代码,不涉及特殊权限申请。组件中的网络请求、上传等功能仍受各平台域名白名单限制。

开发指南#

快速上手#

code
# 方式1: npm 安装
npm install uview-plus

# 方式2: DCloud 插件市场导入
# https://ext.dcloud.net.cn/plugin?name=uview-plus

easycom 配置#

code
// pages.json
{
  "easycom": {
    "autoscan": true,
    "custom": {
      "^up-(.*)": "uview-plus/components/u-$1/u-$1.vue"
    }
  }
}

引入全局样式#

code
// main.js
import uviewPlus from 'uview-plus'
app.use(uviewPlus)
code
// App.vue 或 uni.scss
@import 'uview-plus/index.scss';

基础用法#

code
<template>
  <view class="container">
    <!-- 直接使用 up-* 组件,无需 import -->
    <up-button type="primary" @click="handleClick">按钮</up-button>
    <up-input v-model="value" placeholder="请输入" />
    <up-toast ref="uToast" />
  </view>
</template>

<script>
export default {
  data() {
    return { value: '' }
  },
  methods: {
    handleClick() {
      this.$refs.uToast.show({ message: '点击成功' })
    }
  }
}
</script>

HTTP 请求封装#

code
// 使用 uview-plus 的 http 工具
import { http } from 'uview-plus'

// 全局配置
http.setConfig({
  baseUrl: 'https://api.example.com',
  header: { 'Content-Type': 'application/json' }
})

// 请求拦截器
http.interceptors.request.use((config) => {
  config.header.token = uni.getStorageSync('token')
  return config
})

// 发起请求
http.get('/user/info').then(res => {
  console.log(res)
})

常见陷阱#

  1. easycom 前缀:uview-plus 组件前缀为 up-(如 <up-button>),与原 uView 的 u- 前缀不同,混用时需注意
  2. nvue 页面限制:nvue 不支持部分 CSS 特性(如 box-shadow),部分组件在 nvue 下样式表现可能不同
  3. Vue 2/3 差异:Vue 3 下 app.use(uviewPlus) 注册,Vue 2 下 Vue.use(uviewPlus)
  4. uni.scss 引入顺序:必须在 uview-plus/index.scss 之前覆盖变量,否则自定义主题不生效
  5. 按需引入:easycom 已实现自动按需引入,但 JS 工具函数(http、route 等)需要手动 import

生态资源#

配套框架#

  • uni-app:uview-plus 的唯一宿主框架
  • uniCloud:与 DCloud 云开发深度兼容
  • uni-ui:DCloud 官方组件库,可与 uview-plus 共存(注意组件前缀冲突)

替代方案对比#

组件库Vue3组件数nvue维护状态特色
uview-plus60+✅ 全面活跃uView 2.0 正统继承者
wot-design-uni80+活跃现代设计,暗黑模式
nutui-uniapp80+活跃京东风格
uni-ui40+活跃DCloud 官方
Vant Weapp65+活跃微信原生,非 uni-app

社区#

版本更新#

  • 最后代码推送:2026-07-27(高度活跃,几乎每日更新)
  • npm 版本数:286 个版本(自 2022 年持续高频迭代)
  • 当前主要版本:3.8.86
  • 近期方向
    • 鸿蒙 Next 平台适配
    • Vue 3 Composition API 完善支持
    • 新增组件与 Bug 修复
    • TypeScript 类型定义持续完善
  • 维护状态:非常活跃,作者每日提交,快速响应社区反馈

支持平台