更新记录

4.5.86(2026-11-08)

perf: up-toast 窗口高度初始化读取一次,contentStyle 重算不再查窗口信息

  • contentStyle computed 原每次重算都调用 getWindowInfo().windowHeight,tmpConfig/config 任一变化(显示/隐藏/位置切换)均触发重算并发起窗口信息同步查询。
  • 改为 setup 初始化时读取一次存入普通常量,computed 改读常量,偏移计算逻辑与数值不变;.uvue 侧保持不动。
  • 对齐 uview-plus 3.x 同名优化(组合式 API 适配)。

4.5.85(2026-11-07)

perf: libs deepClone 增加数组快路径,降低大数组克隆开销

合入 perf/deepclone-array-fast-path 分支,优化 deepClone 对大数组的克隆性能。

  • 当入参为数组时,按下标遍历克隆(new Array + for 循环),避免 for-in 对每个下标做字符串化键与 hasOwnProperty 判定。
  • picker 列数据、上传列表、表格数据等大数组场景克隆开销显著降低。
  • 元素逐项语义与原 for-in 路径一致(null/函数/嵌套均同);仅丢弃数组上的非下标附加属性。
  • 仅改动 uni_modules/uview-ultra/libs/function/index.js,不涉及组件 props、事件与对外 API,其它组件与既有逻辑不受影响。

4.5.84(2026-11-06)

perf: libs deepMerge 增加扁平快路径,样式 computed 高频合并免于递归克隆

合入 perf/deepmerge-flat-fast-path 分支,优化 deepMerge 在组件样式计算中的高频调用。

  • 当 target 与 source 均为无嵌套对象/数组的普通对象时,直接 Object.assign({}, target, source) 浅覆盖合并,免去 deepClone 递归克隆与逐键深合并。
  • 约 30 处组件 style computed 的 deepMerge(style, addStyle(customStyle)) 是该形态的高频调用方,重算样式时不再递归深克隆,降低渲染期开销。
  • 仅改动 uni_modules/uview-ultra/libs/function/index.js,不涉及组件 props、事件与对外 API,其它组件与既有逻辑不受影响。
查看更多

平台兼容性

uni-app(4.87)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- √ √ √ √ √ √ √ √
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
√ √ √ - - - - √ - - - -

uni-app x(4.87)

Chrome Safari Android iOS 鸿蒙 微信小程序
√ √ √ √ √ √

其他

多语言 暗黑模式 宽屏模式 蒸汽模式
√ × × ×

logo

uview-ultra 4.0

多平台快速开发的UI框架(组合式API全新重构进行中)

Website Website Website Website npm

image

说明

刚适配的uni-app-x,已经尽可能的继续跟uview-plus一样保持原始uview的接口兼容性,新版发布仍然存在细节问题需要完善与修复,后续会继续更新完善。

介绍

全面兼容uni-app/uni-app-x/nvue/鸿蒙的uni-app生态框架,丰富的组件和便捷的工具以及兼容的API会让您轻松升级,事半功倍。

官方文档:https://uview-ultra.lingyun.net/

特性

  • 全面兼容uni-app/uni-app-x/nvue/鸿蒙,原生渲染,高性能
  • 兼容安卓,iOS,微信小程序,H5,QQ小程序,百度小程序,支付宝小程序,头条小程序
  • 100+精选组件,功能丰富,多端兼容,让您快速集成,开箱即用
  • 众多贴心的JS利器,让您飞镖在手,召之即来,百步穿杨
  • 众多的常用页面和布局,让您专注逻辑,事半功倍
  • 详尽的文档支持,现代化的演示效果
  • 按需引入,精简打包体积

预览

您可以通过微信扫码,查看最佳的演示效果。

image image

链接

关于PR

我们非常乐意接受各位的优质PR,但在此之前我希望您了解这是一个需要兼容多个平台的(小程序、h5、ios app、android app)包括uni-app-x页面、vue页面。 所以希望在您修复bug并提交之前尽可能的去这些平台测试一下兼容性。最好能携带测试截图以方便审核。非常感谢!

安装

uni-app插件市场链接 —— https://ext.dcloud.net.cn/plugin?name=uview-ultra

npm(uni-app CLI 工程)

npm i uview-ultra

npm 方式安装不会自动写入 easycom 规则,需要在 pages.json 里自己加一条 (插件市场安装会自动配好):

{
    "easycom": {
        "autoscan": true,
        "custom": {
            "^up-(.*)": "uview-ultra/components/up-$1/up-$1.vue"
        }
    }
}

并在 main.js 里挂载插件、引入全局样式:

import uviewUltra from 'uview-ultra'
import 'uview-ultra/index.scss'

export function createApp() {
    const app = createSSRApp(App)
    app.use(uviewUltra)
    return { app }
}

全局样式也可以不写在 main.js,改到 App.vue 的 <style lang="scss"> 里:

<style lang="scss">
    @import 'uview-ultra/index.scss';
</style>

npm 包的入口是 index.js(uni-app / Vue3 的实现)。 uni-app x 工程请用插件市场安装 —— 它走的是 .uvue 那套实现, 而 npm 包同时包含 .vue 与 .uvue 两份源码,混用容易装错组件。

快速上手

请通过快速上手了解更详细的内容

使用方法

配置easycom规则后,自动按需引入,无需import组件,直接引用即可。

<template>
    <up-button text="按钮"></up-button>
</template>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

无

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无