uni 您所在的位置:网站首页 uniapp扩展组件Steps uni

uni

2024-05-19 00:33| 来源: 网络整理| 查看: 265

更新记录 1.5.0(2024-01-13) 修复 npm包结构目录错误的问题 uni-calendar 修复 回到今天时,月份显示不一致问题 uni-data-picker 新增 支持 uni-app-x uni-datetime-picker 优化 增加noChange事件,当进行日期范围选择时,若有空值,则触发该事件 详情 uni-datetime-picker 修复 字节小程序时间选择范围器失效问题 详情 uni-datetime-picker 修复 PC端初次修改时间,开始时间未更新的Bug 详情 uni-datetime-picker 修复 部分情况修改时间,开始、结束时间显示异常的Bug 详情 uni-datetime-picker 优化 当前月可以选择上月、下月的日期的Bug uni-file-picker 新增 微信小程序不再调用chooseImage,而是调用chooseMedia uni-file-picker 新增 上传文件至云存储携带本地文件名称 uni-forms 优化 labelWidth 描述错误 fix: 修复图标大小默认值错误的问题 uni-icons 修复 项目未使用 ts 情况下,打包报错的bug uni-icons 修复 size 属性为 string 时,不加单位导致尺寸异常的bug uni-icons 优化 兼容老版本icon类型,如 top ,bottom 等 uni-icons 优化 兼容老版本icon类型,如 top ,bottom 等 uni-icons 优化 uni-app x 下示例项目图标排序 uni-icons 修复 nvue下引入组件报错的bug -优化 size 属性支持单位 uni-icons 新增 uni-app x 支持定义图标 uni-notice-bar 修复动态绑定title时,滚动速度不一致的问题 更新示例工程 uni-popup 新增 uni-popup 支持uni-app-x 注意暂时仅支持 maskClick @open @close uni-table 修复 uni-tr只有一列时minWidth计算错误,列变化实时计算更新 1.4.27(2023-04-23) uni-calendar 修复 某些情况 monthSwitch 未触发的Bug uni-calendar 修复 某些情况切换月份错误的Bug uni-data-picker 修复 更改 modelValue 报错的 bug uni-data-picker 修复 v-for 未使用 key 值控制台 warning uni-data-picker 修复代码合并时引发 value 属性为空时不渲染数据的问题 uni-data-picker 修复 localdata 不支持动态更新的bug uni-data-select 修复 微信小程序点击时会改变背景颜色的 bug uni-data-select 修复 禁用时会显示清空按钮 uni-data-select 优化 查询条件短期内多次变更只查询最后一次变更后的结果 uni-data-select 调整 内部缓存键名调整为 uni-data-select-lastSelectedValue uni-datetime-picker 修复 日历 picker 修改年月后,自动选中当月1日 详情 uni-datetime-picker 修复 小程序端 低版本 ios NaN 详情 uni-datetime-picker 修复 firefox 浏览器显示区域点击无法拉起日历弹框的Bug 详情 uni-datetime-picker 优化 值为空依然选中当天问题 uni-datetime-picker 优化 提供 default-value 属性支持配置选择器打开时默认显示的时间 uni-datetime-picker 优化 非范围选择未选择日期时间,点击确认按钮选中当前日期时间 uni-datetime-picker 优化 字节小程序日期时间范围选择,底部日期换行问题 uni-datetime-picker 修复 2.2.18 引起范围选择配置 end 选择无效的Bug 详情 uni-datetime-picker 修复 移动端范围选择change事件触发异常的Bug 详情 uni-datetime-picker 优化 PC端输入日期格式错误时返回当前日期时间 uni-datetime-picker 优化 PC端输入日期时间超出 start、end 限制的Bug uni-datetime-picker 优化 移动端日期时间范围用法时间展示不完整问题 uni-datetime-picker 修复 小程序端绑定 Date 类型报错的Bug 详情 uni-datetime-picker 修复 vue3 time-picker 无法显示绑定时分秒的Bug uni-datetime-picker 修复 字节小程序报错的Bug uni-datetime-picker 修复 某些情况切换月份错误的Bug uni-easyinput 修复 vue3 下 keyboardheightchange 事件报错的bug uni-easyinput 优化 trim 属性默认值 uni-easyinput 新增 cursor-spacing 属性 uni-fab 新增 pattern.icon 属性,可自定义图标 uni-file-picker 修复 手动上传删除一个文件后不能再上传的bug uni-forms 修复 required 参数无法动态绑定 uni-list 优化 uni-list-chat 具名插槽header 非app端套一层元素,方便使用时通过外层元素定位实现样式修改 uni-list uni-list-chat 新增 支持具名插槽header uni-list 新增 列表图标新增 customPrefix 属性 ,用法 详见 uni-nav-bar 修复 自定义状态栏高度闪动BUG uni-nav-bar 修复 暗黑模式下边线颜色错误的bug uni-popup 修复 uni-popup 重复打开时的 bug uni-popup uni-popup-dialog 组件新增 inputType 属性 uni-swipe-action 修复uni-swipe-action和uni-swipe-action-item不同时使用导致 closeOther 方法报错的 bug uni-table 修复 在vue3模式下可能会出现错误的问题 1.4.26(2023-01-31) uni-badge 修复 运行/打包 控制台警告问题 uni-calendar 修复 某些情况切换月份错误问题 uni-data-select 修复 不关联服务空间报错的问题 uni-data-select 新增 属性 format 可用于格式化显示选项内容 uni-datetime-picker 修复 某些情况切换月份错误问题 uni-easyinput 新增 keyboardheightchange 事件,可监听键盘高度变化 uni-list 修复 无反馈效果呈现的bug 查看更多 平台兼容性 Vue2 Vue3 √ √ App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序 HBuilderX 3.2.10 app-vue app-nvue × √ √ √ √ √ 钉钉小程序 快手小程序 飞书小程序 京东小程序 × × × × H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari √ √ √ √ √ √ √ √ √

当前插件不包含示例页面 ,如需示例请在 HBuiderX 中新建 hello uni-app > 扩展组件 中查看

代码示例地址 :https://ext.dcloud.net.cn/plugin?id=4941

组件演示地址:https://hellouniapp.dcloud.net.cn

组件文档地址:https://uniapp.dcloud.io/component/uniui/uni-ui

uni-ui 介绍 uni-ui产品特点 1. 高性能

目前为止,在小程序和混合app领域,暂时还没有比 uni-ui 更高性能的框架。

自动差量更新数据

虽然uni-app支持小程序自定义组件,所有小程序的ui库都可以用。但小程序自定义组件的ui库都需要使用setData手动更新数据,在大数据量时、或高频更新数据时,很容易产生性能问题。

而 uni-ui 属于vue组件,uni-app引擎底层自动diff更新数据。当然其实插件市场里众多vue组件都具备这个特点。

优化逻辑层和视图层通讯折损

非H5,不管是小程序还是App,不管是app的webview渲染还是原生渲染,全都是逻辑层和视图层分离的。这里就有一个逻辑层和视图层通讯的折损问题。 比如在视图层拖动一个可跟手的组件,由于通讯的损耗,用js监听很难做到实时跟手。

这时就需要使用css动画以及平台底层提供的wxs、bindingx等技术。不过这些技术都比较复杂,所以 uni-ui 里做了封装,在需要跟手式操作的ui组件,比如swiperaction列表项左滑菜单,就在底层使用了这些技术,实现了高性能的交互体验

背景停止

很多ui组件是会一直动的,比如轮播图、跑马灯。即便这个窗体被新窗体挡住,它在背景层仍然在消耗着硬件资源。在Android的webview版本为chrome66以上,背景操作ui会引发很严重的性能问题,造成前台界面明显卡顿。

而 uni-ui 的组件,会自动判断自己的显示状态,在组件不再可见时,不会再消耗硬件资源。

2. 全端

uni-ui 的组件都是多端自适应的,底层会抹平很多小程序平台的差异或bug。

比如导航栏navbar组件,会自动处理不同端的状态栏。 比如swiperaction组件,在app和微信小程序上会使用交互体验更好的wxs技术,但在不支持wxs的其他小程序端会使用js模拟类似效果。

uni-ui 还支持nvue原生渲染,详见

未来 uni-ui 还会支持pc等大屏设备。

3. 与uni统计自动集成实现免打点

uni统计是优秀的多端统计平台,见tongji.dcloud.net.cn。

除了一张报表看全端,它的另一个重要特点是免打点。 比如使用 uni-ui 的navbar标题栏、收藏、购物车等组件,均可实现自动打点,统计页面标题等各种行为数据。 当然你也可以关闭uni统计,这不是强制的。

4. 主题扩展

uni-ui 支持uni.scss,可以方便的切换App的风格。

ui是一种需求非常发散的产品,DCloud官方也无意用 uni-ui 压制第三方ui插件的空间,但官方有义务在性能和多端方面提供一个开源的标杆给大家。

我们欢迎更多优秀的ui组件出现,也欢迎更多人贡献 uni-ui 的主题风格,满足更多用户的需求。

快速开始

uni-ui支持 HBuilderX直接新建项目模板、npm安装和单独导入个别组件等多种使用方式

在HBuilderX 新建uni-app项目的模板中,选择uni-ui模板

HBuilderX内创建uni-ui项目

由于uni-app独特的easycom技术,可以免引用、注册,直接使用各种符合规则的vue组件。

在代码区键入u,拉出各种内置或uni-ui的组件列表,选择其中一个,即可使用该组件。

光标放在组件名称上,按F1,可以查阅组件的文档。

uni-ui代码块

通过 uni_modules 单独安装组件

如果你没有创建uni-ui项目模板,也可以在你的工程里,通过 uni_modules 单独安装需要的某个组件。下表为uni-ui的扩展组件清单,点击每个组件在详情页面可以导入组件到项目下,导入后直接使用即可,无需import和注册。

组件名 组件说明 uni-badge 数字角标 uni-calendar 日历 uni-card 卡片 uni-collapse 折叠面板 uni-combox 组合框 uni-countdown 倒计时 uni-data-checkbox 数据选择器 uni-data-picker 数据驱动的picker选择器 uni-dateformat 日期格式化 uni-datetime-picker 日期选择器 uni-drawer 抽屉 uni-easyinput 增强输入框 uni-fab 悬浮按钮 uni-fav 收藏按钮 uni-file-picker 文件选择上传 uni-forms 表单 uni-goods-nav 商品导航 uni-grid 宫格 uni-group 分组 uni-icons 图标 uni-indexed-list 索引列表 uni-link 超链接 uni-list 列表 uni-load-more 加载更多 uni-nav-bar 自定义导航栏 uni-notice-bar 通告栏 uni-number-box 数字输入框 uni-pagination 分页器 uni-popup 弹出层 uni-rate 评分 uni-row 布局-行 uni-search-bar 搜索栏 uni-segmented-control 分段器 uni-steps 步骤条 uni-swipe-action 滑动操作 uni-swiper-dot 轮播图指示点 uni-table 表格 uni-tag 标签 uni-title 章节标题 uni-transition 过渡动画

使用 uni_modules 方式安装组件库,可以直接通过插件市场导入,通过右键菜单快速更新组件,不需要引用、注册,直接在页面中使用 uni-ui 组件。点击安装 uni-ui 组件库

注意:下载最新的组件目前仅支持 uni_modules ,非 uni_modules 版本最高支持到组件的1.2.10版本

如不能升级到 uni_modules 版本,可以使用 uni_modules 安装好对应组件,将组件拷贝到对应目录。

例如需更新 uni-list和uni-badge ,将 uni_modules>uni-list>components和uni_modules>uni-badege>components下所有目录拷贝到如下目录即可:

目录示例

┌─components 组件目录 │ ├─uni-list list 列表目录 │ │ └─uni-list.vue list 组件文件 │ ├─uni-list-item list-item 列表目录 │ │ └─uni-list-item.vue list 组件文件 │ ├─uni-badge badge 角标目录 │ │ └─uni-badge.vue badge 组件文件 │ └─ //.... 更多组件文件 ├─pages 业务页面文件存放的目录 │ ├─index │ │ └─index.vue index示例页面 ├─main.js Vue初始化入口文件 ├─App.vue 应用配置,用来配置App全局样式以及监听 应用生命周期 ├─manifest.json 配置应用名称、appid、logo、版本等打包信息,详见 └─pages.json 配置页 通过 uni_modules 导入全部组件

如果想一次把所有uni-ui组件导入到项目中,只需要导入一个 uni-ui 组件即可 点击去导入。

如果没有自动导入其他组件,可以在 uni-ui 组件目录上右键选择 安装三方插件依赖 即可。

npm安装

在 vue-cli 项目中可以使用 npm 安装 uni-ui 库 ,或者直接在 HBuilderX 项目中使用 npm 。

注意 cli 项目默认是不编译 node_modules 下的组件的,导致条件编译等功能失效 ,导致组件异常 需要在根目录创建 vue.config.js 文件 ,增加 @dcloudio/uni-ui 包的编译即可正常

// vue.config.js module.exports = { transpileDependencies:['@dcloudio/uni-ui'] }

准备 sass

vue-cli 项目请先安装 sass 及 sass-loader,如在 HBuliderX 中使用,可跳过此步。

安装 sass

npm i sass -D 或 yarn add sass -D

安装 sass-loader

npm i [email protected] -D 或 yarn add [email protected] -D

如果 node 版本小于 16 ,sass-loader 请使用低于 @11.0.0 的版本,[email protected] 不支持 [email protected] 如果 node 版本大于 16 , sass-loader 建议使用 v8.x 版本

安装 uni-ui

npm i @dcloudio/uni-ui 或 yarn add @dcloudio/uni-ui

配置easycom

使用 npm 安装好 uni-ui 之后,需要配置 easycom 规则,让 npm 安装的组件支持 easycom

打开项目根目录下的 pages.json 并添加 easycom 节点:

// pages.json { "easycom": { "autoscan": true, "custom": { // uni-ui 规则如下配置 "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue" } }, // 其他内容 pages:[ // ... ] }

在 template 中使用组件:

注意

uni-ui 现在只推荐使用 easycom ,如自己引用组件,可能会出现组件找不到的问题 使用 npm 安装的组件,默认情况下 babel-loader 会忽略所有 node_modules 中的文件 ,导致条件编译失效,需要通过配置 vue.config.js 解决: // 在根目录创建 vue.config.js 文件,并配置如下 module.exports = { transpileDependencies: ['@dcloudio/uni-ui'] } uni-ui 是uni-app内置组件的扩展。注意与web开发不同,uni-ui不包括基础组件,它是基础组件的补充。web开发中有的开发者习惯用一个ui库完成所有开发,但在uni-app体系中,推荐开发者首先使用性能更高的基础组件,然后按需引入必要的扩展组件。 uni-ui 不支持使用 Vue.use() 的方式安装 贡献代码

在使用 uni-ui 中,如遇到无法解决的问题,请提 Issues 给我们,假如您有更好的点子或更好的实现方式,也欢迎给我们提交 PR



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有