diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..1d6f9334a61e83f61870cab2f927b71bafdb9bb8
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 www.uvui.cn
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index 64729df77cfe0b76d8cdc1a8212b627aebb8b418..9dfe1df3c21d1675525a24044f4231979d3f8ba7 100644
--- a/README.md
+++ b/README.md
@@ -1,21 +1,23 @@
-
+
+
+
+uv-ui
+兼容vue3+2多平台快速开发的UI框架
-> ## 组件文档:[https://www.uvui.cn](https://www.uvui.cn)
-> ## 演示地址:[https://h5.uvui.cn](https://h5.uvui.cn)
-> ## gitee地址:[https://gitee.com/my_dear_li_pan/uv-ui.git](https://gitee.com/my_dear_li_pan/uv-ui.git)
-> ## github地址:[https://github.com/uLeePan/uv-ui.git](https://github.com/uLeePan/uv-ui.git)
-> ## uv-ui 交流QQ群:549833913
-> ## 插件列表:传送门
+[](https://gitee.com/climblee/uv-ui)
+[](https://gitee.com/climblee/uv-ui)
+[](https://github.com/climblee/uv-ui)
+[](https://github.com/climblee/uv-ui/issues)
+[](https://www.uvui.cn)
+[](https://www.uvui.cn/components/changelog.html)
+[](https://en.wikipedia.org/wiki/MIT_License)
-# 如需下载示例项目,请不要使用【下载插件ZIP】按钮。
+## 温馨提示:如需下载uv-ui示例项目,请不要使用【下载插件ZIP】按钮。
-## 预览
-
-通过微信或浏览器扫码查看演示效果,后续上线小程序端等。
+### uvui官方群1:549833913
+### uvui官方群2:206060892
-
-
-## uv-ui产品特点
+## uvui特点
1. **uv-ui的前世今生**,`uv-ui` 是基于 `uview2.x` 版本改造而来。重命名也是为了避开发布冲突和很多组件 `u-`在 `nvue` 中不能使用的情况,所以这才诞生了`uv-ui`。感谢 `uview-ui` 作者的开源奉献,再次为开源点赞。 同时 `uv-ui` 也是无条件开源。
@@ -23,34 +25,62 @@
3. **扩展配置**,`uv-ui`内置的方法默认不再挂载到`uni`对象之上,也就意味着默认情况下不能在项目中直接使用`uni.$uv.xxx`使用内置方法。但是可以通过扩展可以解决,通过如下方式进行配置即可,使用方式请参考[扩展配置](https://www.uvui.cn/components/setting.html)。其中包括[ JS工具库](https://www.uvui.cn/components/setting.html#%E6%89%A9%E5%B1%95%E9%85%8D%E7%BD%AE-js%E5%B7%A5%E5%85%B7%E5%BA%93)、[ 自定义主题](https://www.uvui.cn/components/setting.html#%E6%89%A9%E5%B1%95%E9%85%8D%E7%BD%AE-%E8%87%AA%E5%AE%9A%E4%B9%89%E4%B8%BB%E9%A2%98)、[ 基础样式](https://www.uvui.cn/components/setting.html#%E6%89%A9%E5%B1%95%E9%85%8D%E7%BD%AE-%E5%9F%BA%E7%A1%80%E6%A0%B7%E5%BC%8F)、[ setconfig](https://www.uvui.cn/components/setting.html#%E6%89%A9%E5%B1%95%E9%85%8D%E7%BD%AE-setconfig)等。
+## 预览
+
+通过微信(APP下载不支持微信扫码)或浏览器扫码查看演示效果。
+
+
+
+## 链接
+
+- [官方文档](https://www.uvui.cn)
+- [演示地址](https://h5.uvui.cn)
+- [更新日志](https://www.uvui.cn/components/changelog.html)
+- [关于我们](https://www.uvui.cn/cooperation/about.html)
+- 组件列表
+
+## 交流反馈
+
+欢迎加入我们的QQ群交流反馈:[点此跳转](https://www.uvui.cn/components/addQQGroup.html)
+
## 快速开始
-`uv-ui` 目前暂时只支持单独导入个别组件使用方式。后续会根据情况加入其它使用方式,我一直推崇的是,既然开发`uni-app`项目,推荐直接使用`HBuilderX`创建项目和导入组件。
+方式一:`uv-ui` 强烈建议通过 `下载插件并导入HbuilderX` 导入组件。
+
+方式二:下载完整 [uv-ui项目](https://ext.dcloud.net.cn/plugin?id=12287) 将 `uni_modules` 复制到自己的项目。
-**1. 通过uni_modules下载入口,下载插件并导入HbuilderX。**
+方式三:通过 `npm i @climblee/uv-ui` 下载,此方法需要配置 easycom,配置详情可查看[安装](https://www.uvui.cn/components/install.html)。
-**温馨提示:** 导入插件后,建议`HBuilderX`重新运行项目,可能新导入的插件不能实时更新而导致不能运行。
+请通过[快速上手](https://www.uvui.cn/components/quickstart.html)了解更详细的内容。
-**2. 直接在项目中使用,无需通过import引入组件。**
+**注意:导入插件后,建议`HBuilderX`重新运行项目,可能新导入的插件不能实时更新而导致不能运行。**
+
+## 使用方法
+
+组件导入 `uni_modules` 后,直接在项目中使用,无需通过import引入组件。
```html
-
+
+
+
```
-**3. 使用更强大的扩展功能。**
+## 扩展功能
-`uv-ui`内置了强大的工具函数、请求封装、全局配置等,可以根据自身需求进行扩展配置,详情请查看[扩展配置](https://www.uvui.cn/components/setting.html)。**只有扩展配置后才能在自己的项目页面中使用组件库内置方法**。
+`uv-ui` 内置了强大的工具函数、请求封装等,可以根据自身需求进行扩展配置,详情请查看[扩展配置](https://www.uvui.cn/components/setting.html)。
-**4. 有开发相关的疑问不要生气,不要抱怨,不要骂人哦!直接加 `uv-ui` 的交流群手把手免费解决问题。**
+**注意:只有[扩展配置](https://www.uvui.cn/components/setting.html)后才能在自己的项目页面中使用组件库内置方法和变量等**。
-## 通过uni_modules下载入口
+## 组件列表
下表为 `uv-ui` 的扩展组件清单,点击每个组件**点击下载&安装**即可在详情页面导入组件到项目下,导入后建议重新运行即可直接使用,组件无需import和注册。
| 组件名 | 组件说明 |
| --- | --- |
+| uv-skeletons | [新版骨架屏(推荐)](https://www.uvui.cn/components/skeletons.html) |
+| uv-calendars | [新版日历(推荐)](https://www.uvui.cn/components/calendars.html) |
| uv-drop-down | [下拉筛选](https://www.uvui.cn/components/dropDown.html) |
| uv-scroll-list | [横向滚动列表](https://www.uvui.cn/components/scrollList.html) |
| uv-vtabs | [垂直选项卡](https://www.uvui.cn/components/vtabs.html) |
@@ -106,6 +136,7 @@
| uv-swiper | [轮播图](https://www.uvui.cn/components/swiper.html) |
| uv-collapse | [折叠面板](https://www.uvui.cn/components/collapse.html) |
| uv-grid | [宫格布局](https://www.uvui.cn/components/grid.html) |
+| uv-album | [相册](https://www.uvui.cn/components/album.html) |
| uv-tabbar | [底部导航栏](https://www.uvui.cn/components/tabbar.html) |
| uv-back-top | [返回顶部](https://www.uvui.cn/components/backTop.html) |
| uv-navbar | [自定义导航栏](https://www.uvui.cn/components/navbar.html) |
@@ -122,7 +153,10 @@
| uv-gap | [间隔槽](https://www.uvui.cn/components/gap.html) |
| uv-divider | [分割线](https://www.uvui.cn/components/divider.html) |
-## 最后作者想说
+## 版权信息
+uv-ui遵循[MIT](https://en.wikipedia.org/wiki/MIT_License)开源协议,意味着您无需支付任何费用,也无需授权,即可将uv-ui应用到您的产品中。
+
+## 作者想说
- 开源真的不易,不图大家的钱财,所以希望大家多多鼓励支持,希望不要恶意评论,有问题加群快速解决。
- 遇到BUG,是一件很正常的事情,是程序肯定就有BUG,所以希望大家能以理解的心态去提出BUG,然后作者才有动力去努力修复。
- 最后觉得好用的小伙伴,不要吝啬你的双手,给个好评就是给我们最大的鼓励。
diff --git a/components/page-nav/page-nav.vue b/components/page-nav/page-nav.vue
index 0539fdcf56183c508c31da623472fe1a7554c186..b02f6b51a79ee4c7f1195b92871da7ce4e672c17 100644
--- a/components/page-nav/page-nav.vue
+++ b/components/page-nav/page-nav.vue
@@ -1,8 +1,7 @@
-
+
uv-ui {{version}}
diff --git a/components/uv-custom-icon/props.js b/components/uv-custom-icon/props.js
new file mode 100644
index 0000000000000000000000000000000000000000..71ae06131316e6091d0d309beab42f685edfcc90
--- /dev/null
+++ b/components/uv-custom-icon/props.js
@@ -0,0 +1,90 @@
+export default {
+ props: {
+ // 图标类名
+ name: {
+ type: String,
+ default: ''
+ },
+ // 图标颜色,可接受主题色
+ color: {
+ type: String,
+ default: '#606266'
+ },
+ // 字体大小,单位px
+ size: {
+ type: [String, Number],
+ default: '16px'
+ },
+ // 是否显示粗体
+ bold: {
+ type: Boolean,
+ default: false
+ },
+ // 点击图标的时候传递事件出去的index(用于区分点击了哪一个)
+ index: {
+ type: [String, Number],
+ default: null
+ },
+ // 触摸图标时的类名
+ hoverClass: {
+ type: String,
+ default: ''
+ },
+ // 自定义扩展前缀,方便用户扩展自己的图标库
+ customPrefix: {
+ type: String,
+ default: 'uvicon'
+ },
+ // 图标右边或者下面的文字
+ label: {
+ type: [String, Number],
+ default: ''
+ },
+ // label的位置,只能右边或者下边
+ labelPos: {
+ type: String,
+ default: 'right'
+ },
+ // label的大小
+ labelSize: {
+ type: [String, Number],
+ default: '15px'
+ },
+ // label的颜色
+ labelColor: {
+ type: String,
+ default: '#606266'
+ },
+ // label与图标的距离
+ space: {
+ type: [String, Number],
+ default: '3px'
+ },
+ // 图片的mode
+ imgMode: {
+ type: String,
+ default: ''
+ },
+ // 用于显示图片小图标时,图片的宽度
+ width: {
+ type: [String, Number],
+ default: ''
+ },
+ // 用于显示图片小图标时,图片的高度
+ height: {
+ type: [String, Number],
+ default: ''
+ },
+ // 用于解决某些情况下,让图标垂直居中的用途
+ top: {
+ type: [String, Number],
+ default: 0
+ },
+ // 是否阻止事件传播
+ stop: {
+ type: Boolean,
+ default: false
+ },
+ ...uni.$uv?.props?.icon
+ }
+}
\ No newline at end of file
diff --git a/components/uv-custom-icon/uv-custom-icon.vue b/components/uv-custom-icon/uv-custom-icon.vue
new file mode 100644
index 0000000000000000000000000000000000000000..9561f21f38f10040b2d373e668d889b8e2f1cdc4
--- /dev/null
+++ b/components/uv-custom-icon/uv-custom-icon.vue
@@ -0,0 +1,225 @@
+
+
+
+ {{icon}}
+
+ {{ label }}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/main.js b/main.js
index deed36a49a35a97e905254028fc62c0fe9bbbd5e..8be3653fd77f2a532607ca7f4b257ff2ce2ee9bc 100644
--- a/main.js
+++ b/main.js
@@ -1,6 +1,6 @@
import App from './App'
-// import uvUI from '@/uni_modules/uv-ui-tools'
-// import { Request } from '@/util/request/index'
+import uvUI from '@/uni_modules/uv-ui-tools'
+import { Request } from '@/util/request/index'
// uni.$uv.setConfig({
// config: {
// // 修改默认单位为rpx,相当于执行 uni.$uv.config.unit = 'rpx'
@@ -53,7 +53,7 @@ import { createSSRApp } from 'vue'
export function createApp() {
const app = createSSRApp(App)
// 引入请求封装
- // Request(app)
+ Request(app)
// app.use(uvUI,{mpShare:true})
return {
app
diff --git a/manifest.json b/manifest.json
index 3098855698942f020680004d8cf4d3b3a08f8710..5fe767f4aa5c2beeac51d83095e97f97675989cc 100644
--- a/manifest.json
+++ b/manifest.json
@@ -17,33 +17,65 @@
"delay" : 0
},
/* 模块配置 */
- "modules" : {},
+ "modules" : {
+ "Canvas" : "nvue canvas"
+ },
/* 应用发布信息 */
"distribute" : {
/* android打包配置 */
"android" : {
"permissions" : [
- "",
- "",
- "",
- "",
- "",
+ "",
"",
- "",
+ "",
"",
- "",
- "",
- "",
"",
- "",
- "",
- ""
+ ""
]
},
/* ios打包配置 */
- "ios" : {},
+ "ios" : {
+ "dSYMs" : false
+ },
/* SDK配置 */
- "sdkConfigs" : {}
+ "sdkConfigs" : {
+ "ad" : {}
+ },
+ "icons" : {
+ "android" : {
+ "hdpi" : "unpackage/res/icons/72x72.png",
+ "xhdpi" : "unpackage/res/icons/96x96.png",
+ "xxhdpi" : "unpackage/res/icons/144x144.png",
+ "xxxhdpi" : "unpackage/res/icons/192x192.png"
+ },
+ "ios" : {
+ "appstore" : "unpackage/res/icons/1024x1024.png",
+ "ipad" : {
+ "app" : "unpackage/res/icons/76x76.png",
+ "app@2x" : "unpackage/res/icons/152x152.png",
+ "notification" : "unpackage/res/icons/20x20.png",
+ "notification@2x" : "unpackage/res/icons/40x40.png",
+ "proapp@2x" : "unpackage/res/icons/167x167.png",
+ "settings" : "unpackage/res/icons/29x29.png",
+ "settings@2x" : "unpackage/res/icons/58x58.png",
+ "spotlight" : "unpackage/res/icons/40x40.png",
+ "spotlight@2x" : "unpackage/res/icons/80x80.png"
+ },
+ "iphone" : {
+ "app@2x" : "unpackage/res/icons/120x120.png",
+ "app@3x" : "unpackage/res/icons/180x180.png",
+ "notification@2x" : "unpackage/res/icons/40x40.png",
+ "notification@3x" : "unpackage/res/icons/60x60.png",
+ "settings@2x" : "unpackage/res/icons/58x58.png",
+ "settings@3x" : "unpackage/res/icons/87x87.png",
+ "spotlight@2x" : "unpackage/res/icons/80x80.png",
+ "spotlight@3x" : "unpackage/res/icons/120x120.png"
+ }
+ }
+ },
+ "splashscreen" : {
+ "androidStyle" : "common"
+ }
},
"nvueLaunchMode" : "",
"renderer" : "native"
@@ -52,7 +84,7 @@
"quickapp" : {},
/* 小程序特有相关 */
"mp-weixin" : {
- "appid" : "wx5e84059516ef77fa",
+ "appid" : "wxbf078f0089038cca",
"setting" : {
"urlCheck" : false,
"es6" : true,
diff --git a/pages.json b/pages.json
index a89ca19325e2c820299a0a4a7b91b209aa217907..898d7694b169c3600bf6be19b19a752d046220c1 100644
--- a/pages.json
+++ b/pages.json
@@ -123,7 +123,7 @@
}, {
"path": "calendars/calendars",
"style": {
- "navigationBarTitleText": "Calendars 日历(新)"
+ "navigationBarTitleText": "Calendars 新版日历(推荐)"
}
}, {
"path": "picker/picker",
@@ -288,6 +288,11 @@
"style": {
"navigationBarTitleText": "ScrollList 横向滚动列表"
}
+ }, {
+ "path": "album/album",
+ "style": {
+ "navigationBarTitleText": "Album 相册"
+ }
}
]
}, {
@@ -342,6 +347,11 @@
"style": {
"navigationBarTitleText": "Skeleton 骨架屏"
}
+ }, {
+ "path": "skeletons/skeletons",
+ "style": {
+ "navigationBarTitleText": "Skeletons 新版骨架屏"
+ }
}, {
"path": "indexList/indexList",
"style": {
diff --git a/pages/componentsA/qrcode/qrcode.nvue b/pages/componentsA/qrcode/qrcode.nvue
index 7d16941686418a3201a79afb8a1bed1bd28ed8fc..4b2329b6077f72f3787386a25ab7913419d527b0 100644
--- a/pages/componentsA/qrcode/qrcode.nvue
+++ b/pages/componentsA/qrcode/qrcode.nvue
@@ -5,6 +5,7 @@
@@ -45,6 +46,9 @@
export default {
data() {
return {
+ options1: {
+ foregroundImageSrc: 'https://www.uvui.cn/common/logo.png'
+ },
options2: {
data: 'https://www.uvui.cn',
size: 300,
@@ -55,7 +59,8 @@
backgroundColor: "#3c9cff"
},
options3: {
- style: 'round'
+ style: 'round',
+ foregroundImageSrc: 'https://www.uvui.cn/common/logo.png'
}
}
},
diff --git a/pages/componentsA/text/text.nvue b/pages/componentsA/text/text.nvue
index 073aef0173af4fc0e360b99e288fcd80ed3e42c8..9d41724954ea6484ca0bdcbf6581f23f2878f732 100644
--- a/pages/componentsA/text/text.nvue
+++ b/pages/componentsA/text/text.nvue
@@ -113,7 +113,7 @@
style="margin-right: 50px;"
>
diff --git a/pages/componentsB/calendars/calendars.nvue b/pages/componentsB/calendars/calendars.nvue
index 7f89b96cb9f934ca91c6b97231a86c1a9d59477b..3b925cb1a9ac81e8d049ffc89897231356dcae79 100644
--- a/pages/componentsB/calendars/calendars.nvue
+++ b/pages/componentsB/calendars/calendars.nvue
@@ -35,20 +35,25 @@
/>
+
+
+
@@ -90,6 +107,9 @@
endDate: `${year}-${month}-20`,
selected: [{date: `${year}-${month}-02`, info: '签到', badge: true, infoColor: '#ff0000'},{date: `${year}-${month}-06`, info: '余10',infoColor: '#19be6b', topinfo: '¥100', topinfoColor: '#19be6b'}],
defaultDate: `${year}-${month}-15`,
+ date5: [`${year}-${month}-08`,`${year}-${month}-20`],
+ date10: [`${year}-${month}-08`,`${year}-${month}-16`,`${year}-${month}-24`],
+ date11: [`${year}-${month}-08`,`${year}-${month}-20`],
list: [{
title: '插入模式',
iconUrl: 'https://cdn.uviewui.com/uview/demo/calendar/10.png'
@@ -98,6 +118,10 @@
title: '单个日期',
iconUrl: 'https://cdn.uviewui.com/uview/demo/calendar/7.png'
},
+ {
+ title: '多个日期',
+ iconUrl: 'https://cdn.uviewui.com/uview/demo/calendar/8.png'
+ },
{
title: '日期范围',
iconUrl: 'https://cdn.uviewui.com/uview/demo/calendar/9.png'
@@ -109,13 +133,19 @@
title: '自定义文案',
iconUrl: 'https://cdn.uviewui.com/uview/demo/calendar/14.png'
},{
- title: '日期最大范围',
+ title: '限制日期选择范围',
iconUrl: 'https://cdn.uviewui.com/uview/demo/calendar/13.png'
},{
title: '显示农历',
iconUrl: 'https://cdn.uviewui.com/uview/demo/calendar/5.png'
},{
- title: '默认日期',
+ title: '默认单个日期',
+ iconUrl: 'https://cdn.uviewui.com/uview/demo/calendar/10.png'
+ },{
+ title: '默认多个日期',
+ iconUrl: 'https://cdn.uviewui.com/uview/demo/calendar/10.png'
+ },{
+ title: '默认日期范围',
iconUrl: 'https://cdn.uviewui.com/uview/demo/calendar/10.png'
}
]
@@ -130,7 +160,14 @@
this.$refs[`calendar${this.index}`].open();
},
confirm(e) {
- const time = e.range.before && e.range.after? `${e.range.before} 至 ${e.range.after}`:e.fulldate;
+ let time = null;
+ if(e.range.before && e.range.after) {
+ time = `${e.range.before} 至 ${e.range.after}`;
+ } else if(e.multiple.data.length) {
+ time = e.multiple.data.length>1?`${e.multiple.data[0]}等多个日期`:e.multiple.data[0];
+ } else {
+ time = e.fulldate;
+ }
uni.showToast({
icon: 'none',
title: time
diff --git a/pages/componentsB/datetimePicker/datetimePicker.nvue b/pages/componentsB/datetimePicker/datetimePicker.nvue
index 839ffad44237ebb5a23f19d3de61093982ba9eae..9d777dbd8e4b685099a9eddf686af95040b973ab 100644
--- a/pages/componentsB/datetimePicker/datetimePicker.nvue
+++ b/pages/componentsB/datetimePicker/datetimePicker.nvue
@@ -26,6 +26,7 @@
@cancel="cancel"
@change="change"
@close="close"
+ round="20"
>
+
\ No newline at end of file
diff --git a/pages/componentsB/picker/picker.nvue b/pages/componentsB/picker/picker.nvue
index ec193eae50e419706ee6ad8278c1a9d26f26d63e..78e38fdb4224096af26ddc3829dcfa455d2b43fe 100644
--- a/pages/componentsB/picker/picker.nvue
+++ b/pages/componentsB/picker/picker.nvue
@@ -40,8 +40,9 @@
@confirm="confirm"
@change="changeHandler1"
>
+
+
+
\ No newline at end of file
diff --git a/pages/componentsC/cell/cell.nvue b/pages/componentsC/cell/cell.nvue
index b66a94c429e25127674995bb91960675df0bac67..370f19910859b596a003ffe697dc3ae69d3f1467 100644
--- a/pages/componentsC/cell/cell.nvue
+++ b/pages/componentsC/cell/cell.nvue
@@ -73,12 +73,12 @@
diff --git a/pages/componentsC/grid/grid.nvue b/pages/componentsC/grid/grid.nvue
index 0b9f04f2b59f09f7cc62f81304827c46ae279931..f6ad5325385af5335ad4e206eda00d8060ded9fc 100644
--- a/pages/componentsC/grid/grid.nvue
+++ b/pages/componentsC/grid/grid.nvue
@@ -155,8 +155,8 @@
title: '星星'
},
{
- name: 'hourglass',
- title: '沙漏'
+ name: 'map',
+ title: '地图'
},
{
name: 'home',
@@ -167,7 +167,7 @@
title: '音量'
},
],
- swiperList: ['integral', 'kefu-ermai', 'coupon', 'gift', 'scan', 'pause-circle', 'wifi', 'email', 'list'],
+ swiperList: ['integral', 'kefu-ermai', 'coupon', 'gift', 'scan', 'pause-circle', 'volume-off', 'email', 'list'],
}
},
methods: {
diff --git a/pages/componentsC/modal/modal.nvue b/pages/componentsC/modal/modal.nvue
index 45dcd023ace77449869843fb3728529f893fb494..7c5ae044f86cb70c7ee9c64173c9137b2121e6d6 100644
--- a/pages/componentsC/modal/modal.nvue
+++ b/pages/componentsC/modal/modal.nvue
@@ -87,13 +87,16 @@
showCancelButton
@close="close"
>
-
+
+
+
+
+
diff --git a/pages/componentsC/popup/popup.nvue b/pages/componentsC/popup/popup.nvue
index 3cf29ed1a6f35b985955a6de06c3ad78ac702eb1..3506cb1b399aca6c156d2a394ebb518df18d167a 100644
--- a/pages/componentsC/popup/popup.nvue
+++ b/pages/componentsC/popup/popup.nvue
@@ -149,7 +149,7 @@
this.timer && clearTimeout(this.timer);
this.timer = setTimeout(()=>{
this.$refs.popup.open();
- },200)
+ },10)
},
close() {
this.$refs.popup.close();
@@ -167,7 +167,6 @@
\ No newline at end of file
diff --git a/pages/componentsD/subsection/subsection.nvue b/pages/componentsD/subsection/subsection.nvue
index 02824dd9a70729efb11c7dbb69119a6dcbab3f08..93bca5bc8a5c9fbefa144ce0069409c30e2b960f 100644
--- a/pages/componentsD/subsection/subsection.nvue
+++ b/pages/componentsD/subsection/subsection.nvue
@@ -46,6 +46,20 @@
>
+
+ 自定义样式
+
+
+
+
@@ -57,6 +71,7 @@
current2: 0,
current3: 0,
current4: 1,
+ current5: 1,
list: ['未付款', '待评价', '已付款'],
// 或者如下,也可以配置keyName参数修改对象键值
// list: [{name: '未付款'}, {name: '待评价'}, {name: '已付款'}],
@@ -75,6 +90,9 @@
},
change4(index) {
this.current4 = index
+ },
+ change5(index) {
+ this.current5 = index
}
},
}
diff --git a/pages/demo/demo.nvue b/pages/demo/demo.nvue
index 9a2cb770106d9828f6ca843c9d1430f4d48bde8b..3a0ae3aff68a227d5598b387b9043e778c48221f 100644
--- a/pages/demo/demo.nvue
+++ b/pages/demo/demo.nvue
@@ -1,11 +1,17 @@
-
+
+
+
+
+
\ No newline at end of file
diff --git a/uni_modules/uv-album/package.json b/uni_modules/uv-album/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..700602f6c30933ed1b1fbdb4cf0f735bad11ea08
--- /dev/null
+++ b/uni_modules/uv-album/package.json
@@ -0,0 +1,88 @@
+{
+ "id": "uv-album",
+ "displayName": "uv-album 相册 全面兼容vue3+2、app、h5、小程序等多端",
+ "version": "1.0.4",
+ "description": "本组件提供一个类似相册的功能,让开发者开发起来更加得心应手,功能齐全,灵活配置可以,开箱即用。减少重复的模板代码",
+ "keywords": [
+ "album",
+ "uv-ui",
+ "uvui",
+ "相册",
+ "图片"
+],
+ "repository": "",
+ "engines": {
+ "HBuilderX": "^3.1.0"
+ },
+ "dcloudext": {
+ "type": "component-vue",
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "插件不采集任何数据",
+ "permissions": "无"
+ },
+ "npmurl": ""
+ },
+ "uni_modules": {
+ "dependencies": [
+ "uv-ui-tools",
+ "uv-text"
+ ],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ },
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y",
+ "钉钉": "u",
+ "快手": "u",
+ "飞书": "u",
+ "京东": "u"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/uv-album/readme.md b/uni_modules/uv-album/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..edd2f0b180d4c001919b2c664d7f3e49dad41c00
--- /dev/null
+++ b/uni_modules/uv-album/readme.md
@@ -0,0 +1,21 @@
+# Album 相册
+
+> **组件名:uv-album**
+
+本组件提供一个类似相册的功能,让开发者开发起来更加得心应手。
+
+功能齐全,灵活配置可以,开箱即用。减少重复的模板代码。
+
+# 查看文档
+
+## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui) (请不要 下载插件ZIP)
+
+### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+
+
+
+
+
+
+#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群
\ No newline at end of file
diff --git a/uni_modules/uv-avatar/changelog.md b/uni_modules/uv-avatar/changelog.md
index 19cd09861947e63f23ac705c4f2c76a120b42455..8631c86f69fc1b05b36c70952c76328b0e82b698 100644
--- a/uni_modules/uv-avatar/changelog.md
+++ b/uni_modules/uv-avatar/changelog.md
@@ -1,3 +1,11 @@
+## 1.0.5(2023-12-06)
+1. 优化
+## 1.0.4(2023-12-06)
+1. 优化
+## 1.0.3(2023-12-06)
+1. 阻止事件冒泡处理,单个头像模式
+## 1.0.2(2023-12-06)
+1. 阻止事件冒泡处理
## 1.0.1(2023-05-16)
1. 优化组件依赖,修改后无需全局引入,组件导入即可使用
2. 优化部分功能
diff --git a/uni_modules/uv-avatar/package.json b/uni_modules/uv-avatar/package.json
index 09068a5850a01327ae04e79bb4964515aa6f6bb9..e77ab68b35052747a982b57d9ae9cef5b047a268 100644
--- a/uni_modules/uv-avatar/package.json
+++ b/uni_modules/uv-avatar/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-avatar",
"displayName": "uv-avatar 头像 全面兼容小程序、nvue、vue2、vue3等多端",
- "version": "1.0.1",
+ "version": "1.0.5",
"description": "uv-avatar 本组件一般用于展示头像的地方,如个人中心,或者评论列表页的用户头像展示等场所。",
"keywords": [
"uv-avatar",
diff --git a/uni_modules/uv-button/changelog.md b/uni_modules/uv-button/changelog.md
index 42b371e91c4c4cad1bf6fd440d61f922bbcf4f76..11e954e334f1bf8a96f6a156e947e33bd880b43f 100644
--- a/uni_modules/uv-button/changelog.md
+++ b/uni_modules/uv-button/changelog.md
@@ -1,3 +1,21 @@
+## 1.0.15(2023-12-20)
+1. 优化
+## 1.0.14(2023-12-06)
+1. 优化
+## 1.0.13(2023-12-06)
+1. 阻止事件冒泡处理
+## 1.0.12(2023-10-19)
+1. 增加后置插槽
+## 1.0.11(2023-09-21)
+1. 修复通过customStyle修改按钮宽度,组件中最外层节点不改变的问题
+## 1.0.10(2023-09-15)
+1. 按钮支持open-type="agreePrivacyAuthorization"
+## 1.0.9(2023-09-11)
+1. 增加参数iconSize,用于控制图标的大小
+## 1.0.8(2023-09-10)
+1. 修复多个按钮在一行宽度不正常的BUG
+## 1.0.7(2023-09-07)
+1. 修复warning颜色对应错误的BUG
## 1.0.6(2023-07-25)
1. 增加customTextStyle属性,方便自定义文字样式
## 1.0.5(2023-07-20)
diff --git a/uni_modules/uv-button/components/uv-button/props.js b/uni_modules/uv-button/components/uv-button/props.js
index 4bf2c184c0fcd772f387d0a8b28e8c490c551687..6275ad56bbc5b81051f32831db234b82e73d5297 100644
--- a/uni_modules/uv-button/components/uv-button/props.js
+++ b/uni_modules/uv-button/components/uv-button/props.js
@@ -138,6 +138,11 @@ export default {
type: String,
default: ''
},
+ // 按钮图标大小
+ iconSize: {
+ type: [String, Number],
+ default: ''
+ },
// 按钮图标颜色
iconColor: {
type: String,
@@ -151,7 +156,7 @@ export default {
// 自定义按钮文本样式
customTextStyle: {
type: [Object,String],
- default: ()=>{}
+ default: ''
},
...uni.$uv?.props?.button
}
diff --git a/uni_modules/uv-button/components/uv-button/uv-button.vue b/uni_modules/uv-button/components/uv-button/uv-button.vue
index 841ff0435e0fb914f3c7b13f1fa37e5d2fbf9719..3a2470a391607cbcd32059f06000219a7b75eb33 100644
--- a/uni_modules/uv-button/components/uv-button/uv-button.vue
+++ b/uni_modules/uv-button/components/uv-button/uv-button.vue
@@ -1,5 +1,8 @@
-
+
@@ -25,6 +28,7 @@
@launchapp="onLaunchApp"
@contact="onContact"
@chooseavatar="onChooseavatar"
+ @agreeprivacyauthorization="onAgreeprivacyauthorization"
@addgroupapp="onAddgroupapp"
@chooseaddress="onChooseaddress"
@subscribe="onSubscribe"
@@ -78,7 +82,7 @@
v-if="icon"
:name="icon"
:color="iconColorCom"
- :size="textSize * 1.35"
+ :size="getIconSize"
:customStyle="{ marginRight: '2px' }"
>
@@ -90,6 +94,7 @@
]"
>{{ text }}
+
@@ -126,7 +131,7 @@
v-if="icon"
:name="icon"
:color="iconColorCom"
- :size="textSize * 1.35"
+ :size="getIconSize"
>
{{ text }}
+
@@ -292,6 +298,18 @@ export default {
if (size === "mini") fontSize = 10;
return fontSize;
},
+ // 设置图标大小
+ getIconSize() {
+ const size = this.iconSize ? this.iconSize : this.textSize * 1.35;
+ return this.$uv.addUnit(size);
+ },
+ // 设置外层盒子的宽度,其他样式不需要
+ btnWrapperStyle() {
+ const style = {};
+ const customStyle = this.$uv.addStyle(this.customStyle);
+ if(customStyle.width) style.width = customStyle.width;
+ return style;
+ }
},
methods: {
clickHandler() {
diff --git a/uni_modules/uv-button/components/uv-button/vue.scss b/uni_modules/uv-button/components/uv-button/vue.scss
index dcd36d5d8734d2adf06484d87418e6916aeb9e95..7a089be7df4ca00e1041a835e2b73522c947c4fc 100644
--- a/uni_modules/uv-button/components/uv-button/vue.scss
+++ b/uni_modules/uv-button/components/uv-button/vue.scss
@@ -13,11 +13,10 @@ $uv-button-icon-margin-left:4px !default;
$uv-button-plain-uv-button-info-color:$uv-info;
$uv-button-plain-uv-button-success-color:$uv-success;
$uv-button-plain-uv-button-error-color:$uv-error;
-$uv-button-plain-uv-button-warning-color:$uv-error;
+$uv-button-plain-uv-button-warning-color:$uv-warning;
.uv-button-wrapper {
position: relative;
- width: 100%;
&--dis {
position: absolute;
left: 0;
diff --git a/uni_modules/uv-button/package.json b/uni_modules/uv-button/package.json
index 0c0c04aa042de76dd06e7c5a627fa5b29f9a722b..c2a4a17ce852d174ec9ffbdfe2a51e23e8d56e76 100644
--- a/uni_modules/uv-button/package.json
+++ b/uni_modules/uv-button/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-button",
"displayName": "uv-button 按钮 全面兼容vue3+2、app、h5、小程序等多端",
- "version": "1.0.6",
+ "version": "1.0.15",
"description": "按钮组件内部实现以uni-app的button组件为基础,进行二次封装,灵活配置,功能齐全,兼容全端。",
"keywords": [
"uv-button",
diff --git a/uni_modules/uv-calendar/changelog.md b/uni_modules/uv-calendar/changelog.md
index c490511225ae932589c990579fc091d08749577e..581562a70b7f8567b65cbb5a475af10989c5846b 100644
--- a/uni_modules/uv-calendar/changelog.md
+++ b/uni_modules/uv-calendar/changelog.md
@@ -1,3 +1,5 @@
+## 1.0.6(2023-11-03)
+1. **该版本不再维护**,推荐使用新版本[https://ext.dcloud.net.cn/plugin?name=uv-calendars](https://ext.dcloud.net.cn/plugin?name=uv-calendars)
## 1.0.5(2023-07-02)
uv-calendar 由于弹出层uv-popup的修改,打开和关闭方法更改,详情参考文档:https://www.uvui.cn/components/calendar.html
## 1.0.4(2023-06-15)
diff --git a/uni_modules/uv-calendar/components/uv-calendar/uv-calendar.vue b/uni_modules/uv-calendar/components/uv-calendar/uv-calendar.vue
index 626e8337d92380508b1a907527af551a803534f8..9f019669183b70799758d5260b142a6231902471 100644
--- a/uni_modules/uv-calendar/components/uv-calendar/uv-calendar.vue
+++ b/uni_modules/uv-calendar/components/uv-calendar/uv-calendar.vue
@@ -46,7 +46,7 @@
>
-
+
查看文档
+## 温馨提示:该组件不再更新,强烈推荐使用最新版日历组件:[https://www.uvui.cn/components/calendars.html](https://www.uvui.cn/components/calendars.html)。基于 `uv-ui` 插件市场首款多功能日历组件,不仅可以查看、选择日期,还可以选择任意范围内的日期、打点操作、自定义主题颜色、自定义文案、农历显示等。追求的就是完美。
-### [完整示例项目下载 | 关注更多组件](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+# 查看文档
-#### 如使用过程中有任何问题,或者您对uv-ui有一些好的建议,欢迎加入 uv-ui 交流群:uv-ui、官方QQ群
+## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui) (请不要 下载插件ZIP)
+
+### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+
+
+
+
+
+
+#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群
\ No newline at end of file
diff --git a/uni_modules/uv-calendars/changelog.md b/uni_modules/uv-calendars/changelog.md
index ebe68d3e1e4ef3596db6fc3f2432aa976072a5c8..b3b2e38dac1c709e6485fc78ef73ca0df30d5e9a 100644
--- a/uni_modules/uv-calendars/changelog.md
+++ b/uni_modules/uv-calendars/changelog.md
@@ -1,3 +1,27 @@
+## 1.0.15(2023-11-08)
+1. 增加readonly属性,是否为只读状态,只读状态下禁止选择日期
+## 1.0.14(2023-10-12)
+1. 修复selected没有设置了info或者info设置为空字符串后,文本则无法恢复BUG
+## 1.0.13(2023-09-19)
+1. 修复range模式下,selected设置了info后选中后,导致文本不恢复的问题
+2. 修复multiple模式下,selected自定义信息的颜色没变,依然是白色
+## 1.0.12(2023-09-14)
+1. 优化
+## 1.0.11(2023-09-14)
+1. 增加allowSameDay参数,是否允许日期范围的起止时间为同一天,mode = range时有效
+2. 修复在vue2+小程序渲染时闪烁的问题
+## 1.0.10(2023-09-07)
+1. 修复国际化失效的BUG
+## 1.0.9(2023-09-01)
+1. 修复在pages.json中设置easycom会报错的BUG
+## 1.0.8(2023-08-29)
+1. 修复mainjs中设置setConfig修改属性不生效的问题,出自评论区:https://ext.dcloud.net.cn/plugin?id=12287
+## 1.0.7(2023-08-26)
+1. 去除range参数,由mode="range"替换
+2. 新增mode参数,不传 / multiple / range,分别为单日期, 多个日期,选择日期范围
+3. 与uv-calendar选择日期的功能保持一致
+## 1.0.6(2023-08-25)
+1. 修复点击返回今天按钮时,monthSwitch方法回调参数返回月份不是当天对应月份:https://github.com/climblee/uv-ui/issues/7
## 1.0.5(2023-08-13)
1. 修复选择月份弹窗层级的问题
## 1.0.4(2023-08-06)
diff --git a/uni_modules/uv-calendars/components/uv-calendars/uv-calendar-body.vue b/uni_modules/uv-calendars/components/uv-calendars/calendar-body.vue
similarity index 82%
rename from uni_modules/uv-calendars/components/uv-calendars/uv-calendar-body.vue
rename to uni_modules/uv-calendars/components/uv-calendars/calendar-body.vue
index 8014fab4a92777db6b356af273ca6700a5993e6b..b675fbdb34e75dd3f865be6a865816fcdb2a65b1 100644
--- a/uni_modules/uv-calendars/components/uv-calendars/uv-calendar-body.vue
+++ b/uni_modules/uv-calendars/components/uv-calendars/calendar-body.vue
@@ -4,7 +4,7 @@
-
+
-
+
@@ -52,7 +52,7 @@
import mpMixin from '@/uni_modules/uv-ui-tools/libs/mixin/mpMixin.js';
import mixin from '@/uni_modules/uv-ui-tools/libs/mixin/mixin.js';
- import CalendarItem from './uv-calendar-item.vue';
+ import CalendarItem from './calendar-item.vue';
import { initVueI18n } from '@dcloudio/uni-i18n';
import i18nMessages from './i18n/index.js';
@@ -64,7 +64,7 @@
},
props: {
date: {
- type: String,
+ type: [String,Array],
default: ''
},
nowDate: {
@@ -108,9 +108,25 @@
endText: {
type: String,
default: '结束'
+ },
+ range: {
+ type: Boolean,
+ default: false
+ },
+ multiple: {
+ type: Boolean,
+ default: false
+ },
+ // 是否允许日期范围的起止时间为同一天,mode = range时有效
+ allowSameDay: {
+ type: Boolean,
+ default: false
}
},
computed: {
+ getDate() {
+ return Array.isArray(this.date) ? this.date[0] : this.date;
+ },
/**
* for i18n
*/
@@ -140,28 +156,39 @@
},
rangeInfoText(weeks) {
return weeks=> {
- if(weeks.beforeMultiple) {
- if(weeks.extraInfo) {
- weeks.extraInfo.info = this.startText;
- }else {
- weeks.extraInfo = {
- info: this.startText
- }
- }
+ if(this.allowSameDay && weeks.beforeRange && weeks.afterRange && weeks.dateEqual) {
+ return this.setInfo(weeks,`${this.startText}/${this.endText}`);
+ }
+ if(weeks.beforeRange) {
+ return this.setInfo(weeks,this.startText);
}
- if(weeks.afterMultiple) {
- if(weeks.extraInfo) {
- weeks.extraInfo.info = this.endText;
- }else {
- weeks.extraInfo = {
- info: this.endText
- }
- }
+ if(weeks.afterRange) {
+ return this.setInfo(weeks,this.endText);
}
+ if(weeks.extraInfo?.info_old == ' ') {
+ weeks.extraInfo.info = null;
+ }else if(weeks.extraInfo?.info_old) {
+ weeks.extraInfo.info = weeks.extraInfo.info_old;
+ }
}
}
},
methods: {
+ setInfo(weeks,text) {
+ this.setInfoOld(weeks);
+ if(weeks.extraInfo) {
+ weeks.extraInfo.info = text;
+ }else {
+ weeks.extraInfo = {
+ info: text
+ }
+ }
+ },
+ setInfoOld(weeks) {
+ if(weeks.extraInfo) {
+ weeks.extraInfo.info_old = weeks.extraInfo.info ? weeks.extraInfo.info_old || weeks.extraInfo.info : ' ';
+ }
+ },
bindDateChange(e) {
this.$emit('bindDateChange', e);
},
diff --git a/uni_modules/uv-calendars/components/uv-calendars/uv-calendar-item.vue b/uni_modules/uv-calendars/components/uv-calendars/calendar-item.vue
similarity index 58%
rename from uni_modules/uv-calendars/components/uv-calendars/uv-calendar-item.vue
rename to uni_modules/uv-calendars/components/uv-calendars/calendar-item.vue
index 4ca5f87de84b37cd7b9a40c574b316e704d10224..862d068d7780f1d3bcd2037669aa12b1a41ba2fe 100644
--- a/uni_modules/uv-calendars/components/uv-calendars/uv-calendar-item.vue
+++ b/uni_modules/uv-calendars/components/uv-calendars/calendar-item.vue
@@ -1,57 +1,53 @@
- {{weeks.extraInfo&&weeks.extraInfo.topinfo}}
+ {{weeks.extraInfo&&weeks.extraInfo.topinfo}}
{{weeks.date}}
{{todayText}}
{{weeks.isDay ? todayText : (weeks.lunar.IDayCn === '初一'?weeks.lunar.IMonthCn:weeks.lunar.IDayCn)}}
- {{weeks.extraInfo.info}}
+ {{weeks.extraInfo.info}}
-
-
\ No newline at end of file
diff --git a/uni_modules/uv-calendars/components/uv-calendars/i18n/en.json b/uni_modules/uv-calendars/components/uv-calendars/i18n/en.json
index fcbd13cfc08064e801531332625f0fdacbb7c509..c83e8b2b2f57a002a13fb4ee4c1e8bfae11f1287 100644
--- a/uni_modules/uv-calendars/components/uv-calendars/i18n/en.json
+++ b/uni_modules/uv-calendars/components/uv-calendars/i18n/en.json
@@ -1,12 +1,12 @@
{
- "uni-calender.ok": "ok",
- "uni-calender.cancel": "cancel",
- "uni-calender.today": "today",
- "uni-calender.MON": "MON",
- "uni-calender.TUE": "TUE",
- "uni-calender.WED": "WED",
- "uni-calender.THU": "THU",
- "uni-calender.FRI": "FRI",
- "uni-calender.SAT": "SAT",
- "uni-calender.SUN": "SUN"
+ "uv-calender.ok": "ok",
+ "uv-calender.cancel": "cancel",
+ "uv-calender.today": "today",
+ "uv-calender.MON": "MON",
+ "uv-calender.TUE": "TUE",
+ "uv-calender.WED": "WED",
+ "uv-calender.THU": "THU",
+ "uv-calender.FRI": "FRI",
+ "uv-calender.SAT": "SAT",
+ "uv-calender.SUN": "SUN"
}
diff --git a/uni_modules/uv-calendars/components/uv-calendars/util.js b/uni_modules/uv-calendars/components/uv-calendars/util.js
index 494f127e33e63d6f0e9bc847a683e19ff885ae80..ae1c6d6b36f56116c487e4b34a9bbc8fdfd6a4e5 100644
--- a/uni_modules/uv-calendars/components/uv-calendars/util.js
+++ b/uni_modules/uv-calendars/components/uv-calendars/util.js
@@ -1,12 +1,13 @@
import CALENDAR from './calendar.js'
-
class Calendar {
constructor({
date,
selected,
startDate,
endDate,
- range
+ range,
+ multiple,
+ allowSameDay
} = {}) {
// 当前日期
this.date = this.getDate(new Date()) // 当前初入日期
@@ -17,7 +18,11 @@ class Calendar {
// 范围结束
this.endDate = endDate
this.range = range
+ this.multiple = multiple
+ this.allowSameDay = allowSameDay
// 多选状态
+ this.cleanRangeStatus()
+ // 范围状态
this.cleanMultipleStatus()
// 每周日期
this.weeks = {}
@@ -27,31 +32,68 @@ class Calendar {
* 设置日期
* @param {Object} date
*/
- setDate(date) {
- this.selectDate = this.getDate(date)
- this._getWeek(this.selectDate.fullDate)
+ setDate(date, status) {
+ if (this.range && status == 'init') {
+ this.cleanRangeStatus();
+ if (Array.isArray(date)) {
+ this.rangeStatus.before = date[0];
+ this.rangeStatus.after = date.length > 1 ? date[date.length - 1] : '';
+ if (this.rangeStatus.after && this.dateCompare(this.rangeStatus.before, this.rangeStatus.after)) {
+ this.rangeStatus.data = this.geDateAll(this.rangeStatus.before, this.rangeStatus.after)
+ }
+ this.selectDate = this.getDate(date[0])
+ this._getWeek(this.selectDate.fullDate)
+ } else {
+ this.selectDate = this.getDate(date)
+ this.rangeStatus.before = this.selectDate.fullDate;
+ this._getWeek(this.selectDate.fullDate)
+ }
+ } else if (this.multiple && status == 'init') {
+ this.cleanMultipleStatus();
+ if (Array.isArray(date)) {
+ this.multipleStatus.data = date;
+ this.selectDate = this.getDate(date[0])
+ this._getWeek(this.selectDate.fullDate)
+ } else {
+ this.selectDate = this.getDate(date)
+ this.multipleStatus.data = [this.selectDate.fullDate];
+ this._getWeek(this.selectDate.fullDate)
+ }
+ } else {
+ if (Array.isArray(date)) {
+ this.selectDate = this.getDate(date[0])
+ this._getWeek(this.selectDate.fullDate)
+ } else {
+ this.selectDate = this.getDate(date)
+ this._getWeek(this.selectDate.fullDate)
+ }
+ }
}
-
/**
* 清理多选状态
*/
- cleanMultipleStatus() {
- this.multipleStatus = {
+ cleanRangeStatus() {
+ this.rangeStatus = {
before: '',
after: '',
data: []
}
}
-
+ /**
+ * 清理多选状态
+ */
+ cleanMultipleStatus() {
+ this.multipleStatus = {
+ data: []
+ }
+ }
/**
* 重置开始日期
*/
resetSatrtDate(startDate) {
// 范围开始
this.startDate = startDate
-
}
-
/**
* 重置结束日期
*/
@@ -59,7 +101,6 @@ class Calendar {
// 范围结束
this.endDate = endDate
}
-
/**
* 获取任意时间
*/
@@ -76,19 +117,19 @@ class Calendar {
dd.setDate(dd.getDate() + AddDayCount) // 获取AddDayCount天后的日期
break
case 'month':
- if (dd.getDate() === 31 && AddDayCount>0) {
+ if (dd.getDate() === 31 && AddDayCount > 0) {
dd.setDate(dd.getDate() + AddDayCount)
} else {
const preMonth = dd.getMonth()
dd.setMonth(preMonth + AddDayCount) // 获取AddDayCount天后的日期
const nextMonth = dd.getMonth()
// 处理 pre 切换月份目标月份为2月没有当前日(30 31) 切换错误问题
- if(AddDayCount<0 && preMonth!==0 && nextMonth-preMonth>AddDayCount){
- dd.setMonth(nextMonth+(nextMonth-preMonth+AddDayCount))
+ if (AddDayCount < 0 && preMonth !== 0 && nextMonth - preMonth > AddDayCount) {
+ dd.setMonth(nextMonth + (nextMonth - preMonth + AddDayCount))
}
// 处理 next 切换月份目标月份为2月没有当前日(30 31) 切换错误问题
- if(AddDayCount>0 && nextMonth-preMonth>AddDayCount){
- dd.setMonth(nextMonth-(nextMonth-preMonth-AddDayCount))
+ if (AddDayCount > 0 && nextMonth - preMonth > AddDayCount) {
+ dd.setMonth(nextMonth - (nextMonth - preMonth - AddDayCount))
}
}
break
@@ -107,8 +148,6 @@ class Calendar {
day: dd.getDay()
}
}
-
-
/**
* 获取上月剩余天数
*/
@@ -132,9 +171,7 @@ class Calendar {
let dateArr = []
let fullDate = this.date.fullDate
for (let i = 1; i <= dateData; i++) {
- let nowDate = full.year + '-' + (full.month < 10 ?
- full.month : full.month) + '-' + (i < 10 ?
- '0' + i : i)
+ let nowDate = full.year + '-' + (full.month < 10 ? full.month : full.month) + '-' + (i < 10 ? '0' + i : i)
// 是否今天
let isDay = fullDate === nowDate
// 获取打点信息
@@ -143,7 +180,6 @@ class Calendar {
return item
}
})
-
// 日期禁用
let disableBefore = true
let disableAfter = true
@@ -152,32 +188,46 @@ class Calendar {
// disableBefore = this.dateCompare(dateCompBefore ? this.startDate : fullDate, nowDate)
disableBefore = this.dateCompare(this.startDate, nowDate)
}
-
if (this.endDate) {
// let dateCompAfter = this.dateCompare(fullDate, this.endDate)
// disableAfter = this.dateCompare(nowDate, dateCompAfter ? this.endDate : fullDate)
disableAfter = this.dateCompare(nowDate, this.endDate)
}
- let multiples = this.multipleStatus.data
+ let ranges = this.rangeStatus.data
let checked = false
- let multiplesStatus = -1
+ let rangesStatus = -1
if (this.range) {
+ if (ranges) {
+ rangesStatus = ranges.findIndex((item) => {
+ return this.dateEqual(item, nowDate)
+ })
+ }
+ if (rangesStatus !== -1) {
+ checked = true
+ }
+ }
+ let multiples = this.multipleStatus.data
+ let checked_multiple = false
+ let multiplesStatus = -1
+ if (this.multiple) {
if (multiples) {
multiplesStatus = multiples.findIndex((item) => {
return this.dateEqual(item, nowDate)
})
}
if (multiplesStatus !== -1) {
- checked = true
+ checked_multiple = true
}
}
let data = {
fullDate: nowDate,
year: full.year,
date: i,
- multiple: this.range ? checked : false,
- beforeMultiple: this.dateEqual(this.multipleStatus.before, nowDate),
- afterMultiple: this.dateEqual(this.multipleStatus.after, nowDate),
+ range: this.range ? checked : false,
+ multiple: this.multiple ? checked_multiple : false,
+ beforeRange: this.dateEqual(this.rangeStatus.before, nowDate),
+ afterRange: this.dateEqual(this.rangeStatus.after, nowDate),
+ dateEqual: this.range && checked && this.dateEqual(this.rangeStatus.before, this.rangeStatus.after),
month: full.month,
lunar: this.getlunar(full.year, full.month, i),
disable: !(disableBefore && disableAfter),
@@ -186,7 +236,6 @@ class Calendar {
if (info) {
data.extraInfo = info
}
-
dateArr.push(data)
}
return dateArr
@@ -206,7 +255,6 @@ class Calendar {
}
return dateArr
}
-
/**
* 获取当前日期详情
* @param {Object} date
@@ -214,11 +262,12 @@ class Calendar {
getInfo(date) {
if (!date) {
date = new Date()
+ } else if (Array.isArray(date)) {
+ date = date[0]
}
const dateInfo = this.canlender.find(item => item.fullDate === this.getDate(date).fullDate)
return dateInfo
}
-
/**
* 比较时间大小
*/
@@ -233,7 +282,6 @@ class Calendar {
return false
}
}
-
/**
* 比较时间是否相等
*/
@@ -248,7 +296,6 @@ class Calendar {
return false
}
}
-
/**
* 比较after时间是否大于before时间
*/
@@ -263,8 +310,6 @@ class Calendar {
return false
}
}
-
-
/**
* 获取日期范围内所有日期
* @param {Object} begin
@@ -299,40 +344,54 @@ class Calendar {
this.selected = value
this._getWeek(data)
}
-
/**
- * 获取多选状态
+ * 获取多选状态
*/
setMultiple(fullDate) {
+ if (!this.multiple) return
+ let multiples = this.multipleStatus.data;
+ const findIndex = multiples.findIndex(item => this.dateEqual(fullDate, item));
+ if (findIndex < 0) {
+ this.multipleStatus.data = this.multipleStatus.data.concat([fullDate]);
+ } else {
+ this.multipleStatus.data.splice(findIndex, 1);
+ }
+ this._getWeek(fullDate)
+ }
+ /**
+ * 获取范围状态
+ */
+ setRange(fullDate) {
let {
before,
after
- } = this.multipleStatus
+ } = this.rangeStatus
if (!this.range) return
if (before && after) {
- this.cleanMultipleStatus();
- this.multipleStatus.before = fullDate
+ this.cleanRangeStatus();
+ this.rangeStatus.before = fullDate
} else {
if (!before) {
- this.multipleStatus.before = fullDate
+ this.rangeStatus.before = fullDate
} else {
- if(!this.dateAfterLgBefore(this.multipleStatus.before,fullDate)) {
- this.cleanMultipleStatus();
- this.multipleStatus.before = fullDate
+ if (this.allowSameDay && this.dateEqual(before, fullDate)) {
+ this.rangeStatus.after = fullDate
+ } else if (!this.dateAfterLgBefore(this.rangeStatus.before, fullDate)) {
+ this.cleanRangeStatus();
+ this.rangeStatus.before = fullDate
this._getWeek(fullDate)
return;
}
- this.multipleStatus.after = fullDate
- if (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {
- this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after);
+ this.rangeStatus.after = fullDate
+ if (this.dateCompare(this.rangeStatus.before, this.rangeStatus.after)) {
+ this.rangeStatus.data = this.geDateAll(this.rangeStatus.before, this.rangeStatus.after);
} else {
- this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before);
+ this.rangeStatus.data = this.geDateAll(this.rangeStatus.after, this.rangeStatus.before);
}
}
}
this._getWeek(fullDate)
}
-
/**
* 获取每周数据
* @param {Object} dateData
@@ -365,7 +424,6 @@ class Calendar {
this.canlender = canlender
this.weeks = weeks
}
-
//静态方法
// static init(date) {
// if (!this.instance) {
@@ -374,6 +432,4 @@ class Calendar {
// return this.instance;
// }
}
-
-
-export default Calendar
+export default Calendar
\ No newline at end of file
diff --git a/uni_modules/uv-calendars/components/uv-calendars/uv-calendars.vue b/uni_modules/uv-calendars/components/uv-calendars/uv-calendars.vue
index 178b105ae7e2e3b4c74fa54cd0ac992dc49f821b..8d5b3770a3762b89839cf4d398e711b75420fdcb 100644
--- a/uni_modules/uv-calendars/components/uv-calendars/uv-calendars.vue
+++ b/uni_modules/uv-calendars/components/uv-calendars/uv-calendars.vue
@@ -1,7 +1,7 @@
-
+ >
@@ -31,7 +34,7 @@
@cancel="close"
@confirm="confirm">
-
+ >
@@ -60,7 +66,7 @@
* @property {Boolean} lunar 显示农历
* @property {String} startDate 日期选择范围-开始日期
* @property {String} endDate 日期选择范围-结束日期
- * @property {Boolean} range 范围选择
+ * @property {String} mode = [不传 | multiple | range ] 多个日期 | 选择日期范围 默认单日期
* @property {Boolean} insert = [true|false] 插入模式,默认为false
* @value true 弹窗模式
* @value false 插入模式
@@ -74,6 +80,7 @@
* @property {Boolean} closeOnClickOverlay 点击遮罩是否关闭
* @property {String} startText range为true时,第一个日期底部的提示文字
* @property {String} endText range为true时,最后一个日期底部的提示文字
+ * @property {String} readonly 是否为只读状态,只读状态下禁止选择日期,默认false
*
* @event {Function} change 日期改变,`insert :ture` 时生效
* @event {Function} confirm 确认选择`insert :false` 时生效
@@ -83,98 +90,125 @@
*/
import mpMixin from '@/uni_modules/uv-ui-tools/libs/mixin/mpMixin.js';
import mixin from '@/uni_modules/uv-ui-tools/libs/mixin/mixin.js';
-
import Calendar from './util.js';
-
- import uvCalendarBody from './uv-calendar-body.vue';
-
+ import calendarBody from './calendar-body.vue';
import { initVueI18n } from '@dcloudio/uni-i18n';
import i18nMessages from './i18n/index.js';
const { t } = initVueI18n(i18nMessages);
export default {
components: {
- uvCalendarBody
+ calendarBody
},
mixins: [mpMixin, mixin],
emits: ['close', 'confirm', 'change', 'monthSwitch'],
props: {
+ // 取消按钮颜色
cancelColor: {
type: String,
default: ''
},
+ // 确认按钮颜色,range模式下未选全显示灰色
confirmColor: {
type: String,
default: '#3c9cff'
},
+ // 标题
title: {
type: String,
default: ''
},
+ // 主题色
color: {
type: String,
default: '#3c9cff'
},
+ // 默认显示日期
date: {
- type: String,
+ type: [String,Array],
default: ''
},
+ // 打点等设置
selected: {
type: Array,
default () {
return []
}
},
+ // 是否显示农历
lunar: {
type: Boolean,
default: false
},
+ // 可选择的起始日期
startDate: {
type: String,
default: ''
},
+ // 可选择的结束日期
endDate: {
type: String,
default: ''
},
- range: {
- type: Boolean,
- default: false
+ // multiple - 选择多日期 range - 选择日期范围
+ mode: {
+ type: String,
+ default: ''
},
+ // 是否插入模式
insert: {
type: Boolean,
default: false
},
+ // 是否显示月份为背景
showMonth: {
type: Boolean,
default: true
},
+ // 弹窗模式是否清空上次选择内容
clearDate: {
type: Boolean,
default: true
},
+ // 弹窗圆角
round: {
- type: Number,
+ type: [Number,String],
default: 8
},
+ // 点击遮罩是否关闭弹窗
closeOnClickOverlay: {
type: Boolean,
default: true
},
+ // range为true时,第一个日期底部的提示文字
startText: {
type: String,
default: '开始'
},
+ // range为true时,最后一个日期底部的提示文字
endText: {
type: String,
default: '结束'
- }
+ },
+ // 是否允许日期范围的起止时间为同一天,mode = range时有效
+ allowSameDay: {
+ type: Boolean,
+ default: false
+ },
+ // 是否禁用
+ readonly: {
+ type: Boolean,
+ default: false
+ },
+ ...uni.$uv?.props?.calendars
},
data(){
return {
weeks: [],
calendar: {},
nowDate: '',
- allowConfirm: false
+ allowConfirm: false,
+ multiple: false,
+ range: false
}
},
computed:{
@@ -188,10 +222,10 @@
return t("uv-calender.cancel")
},
getConfirmColor() {
- if(!this.range) {
- return this.confirmColor;
- }else {
+ if(this.range || this.multiple || this.readonly) {
return this.allowConfirm? this.confirmColor: '#999'
+ }else {
+ return this.confirmColor;
}
}
},
@@ -215,18 +249,32 @@
}
},
created() {
+ this.setMode();
this.cale = new Calendar({
selected: this.selected,
startDate: this.startDate,
endDate: this.endDate,
range: this.range,
+ multiple: this.multiple,
+ allowSameDay: this.allowSameDay
})
this.init(this.date)
},
methods: {
+ setMode() {
+ switch (this.mode){
+ case 'range':
+ this.range = true;
+ break;
+ case 'multiple':
+ this.multiple = true;
+ default:
+ break;
+ }
+ },
async open() {
if (this.clearDate && !this.insert) {
- this.cale.cleanMultipleStatus()
+ this.cale.cleanRangeStatus()
this.init(this.date)
}
if(!this.insert){
@@ -238,7 +286,11 @@
this.$emit('close');
},
confirm() {
- if(this.range && !this.cale.multipleStatus.after) {
+ if(this.readonly) {
+ return;
+ } else if(this.range && !this.cale.rangeStatus.after) {
+ return;
+ } else if(this.multiple && this.cale.multipleStatus.data.length == 0){
return;
}
this.setEmit('confirm');
@@ -265,26 +317,34 @@
*/
init(date) {
if(this.range) {
+ // 重置范围选择状态
+ this.cale.cleanRangeStatus();
+ }else if(this.multiple){
// 重置多选状态
this.cale.cleanMultipleStatus();
}
- this.cale.setDate(date)
+ this.cale.setDate(date,'init')
this.weeks = this.cale.weeks
this.nowDate = this.calendar = this.cale.getInfo(date)
- if(this.range) {
- this.choiceDate(this.nowDate);
- }
+ this.changeConfirmStatus();
},
/**
* 变化触发
*/
change() {
- if (this.range) {
- this.allowConfirm = this.cale.multipleStatus.after ? true : false;
- }
+ this.changeConfirmStatus();
if (!this.insert) return
this.setEmit('change')
},
+ changeConfirmStatus() {
+ if(this.readonly) {
+ this.allowConfirm = false;
+ } else if (this.range) {
+ this.allowConfirm = this.cale.rangeStatus.after ? true : false;
+ } else if(this.multiple) {
+ this.allowConfirm = this.cale.multipleStatus.data.length > 0 ? true : false;
+ }
+ },
/**
* 选择月份触发
*/
@@ -312,7 +372,8 @@
extraInfo
} = this.calendar
this.$emit(name, {
- range: this.cale.multipleStatus,
+ range: this.cale.rangeStatus,
+ multiple: this.cale.multipleStatus,
year,
month,
date,
@@ -326,10 +387,12 @@
* @param {Object} weeks
*/
choiceDate(weeks) {
- if (weeks.disable) return
+ if (weeks.disable || this.readonly) return
this.calendar = weeks
+ // 设置范围选择
+ this.cale.setRange(this.calendar.fullDate)
// 设置多选
- this.cale.setMultiple(this.calendar.fullDate)
+ this.cale.setMultiple(this.calendar.fullDate);
this.weeks = this.cale.weeks
this.change()
},
@@ -340,12 +403,10 @@
const nowYearMonth = `${this.nowDate.year}-${this.nowDate.month}`
const date = this.cale.getDate(new Date())
const todayYearMonth = `${date.year}-${date.month}`
-
+ this.init(date.fullDate)
if (nowYearMonth !== todayYearMonth) {
this.monthSwitch()
}
-
- this.init(date.fullDate)
this.change()
},
/**
diff --git a/uni_modules/uv-calendars/package.json b/uni_modules/uv-calendars/package.json
index 5eb045532aa0ab8ef716703983c73663e3912092..71535102b7225cb76e4768c869304f4bb0ef3580 100644
--- a/uni_modules/uv-calendars/package.json
+++ b/uni_modules/uv-calendars/package.json
@@ -1,8 +1,8 @@
{
"id": "uv-calendars",
- "displayName": "uv-calendars 日历 全面兼容vue3+2、app、h5、小程序等多端",
- "version": "1.0.5",
- "description": "该组件输入优化升级版,提供日历选择查看,简单配置即可使用强大功能,性能友好",
+ "displayName": "uv-calendars 最新日历 全面兼容vue3+2、app、h5、小程序等多端",
+ "version": "1.0.15",
+ "description": "新版本uv-calendars,不仅拥有老版本的所有功能,还增加了更加适用的插入页面等强大功能,且更加简洁。查看日期、选择单个或多个或任意范围日期,打点操作,自定义文案,自定义主题等强大功能。",
"keywords": [
"uv-ui",
"uvui",
diff --git a/uni_modules/uv-calendars/readme.md b/uni_modules/uv-calendars/readme.md
index 7b8a5e97c97b2b6eabf4c585b4334eed3e5a4c48..d986eb9b2a29e593328a7e0f7e2c2f37be33db5d 100644
--- a/uni_modules/uv-calendars/readme.md
+++ b/uni_modules/uv-calendars/readme.md
@@ -1,8 +1,12 @@
-## Calendars 日历(新)
+## Calendars 全新日历
> **组件名:uv-calendars**
-日历组件可以查看、选择日期,选择任意范围内的日期,打点操作。常用场景如:酒店日期预订、火车机票选择购买日期、上下班打卡等。
+为了解决老版本`uv-calendar`性能问题,特别是对日期选择范围有很大限制,体验不友好等缺点。于是有了新版日历组件。
+
+新版本`uv-calendars`,不仅拥有老版本的所有功能,还增加了更加适用的插入页面等强大功能,且更加简洁。查看日期、选择单个或多个或任意范围日期,打点操作,自定义文案,自定义主题等强大功能。
+
+常用场景:酒店日期预订、火车机票选择购买日期、上下班打卡等。
# 查看文档
diff --git a/uni_modules/uv-cell/changelog.md b/uni_modules/uv-cell/changelog.md
index 614052d1cdf392e1c11b904acd7272046fbc2b32..c342b0c716a861d5cdbb05d9d709437ddf512bb9 100644
--- a/uni_modules/uv-cell/changelog.md
+++ b/uni_modules/uv-cell/changelog.md
@@ -1,3 +1,7 @@
+## 1.0.5(2023-12-06)
+1. 修复uv-cell right-icon插槽编译到APP端不显示的BUG,问题来源:https://gitee.com/climblee/uv-ui/issues/I8LXZI
+## 1.0.4(2023-09-19)
+1. 增加cellStyle参数,方便自定义单元格的样式
## 1.0.3(2023-07-03)
去除插槽判断,避免某些平台不显示的BUG
## 1.0.2(2023-06-21)
diff --git a/uni_modules/uv-cell/components/uv-cell/props.js b/uni_modules/uv-cell/components/uv-cell/props.js
index 7390a37bf5f41665cc3b1b83150f65b288d2371d..6579636166ed709c3fb0c53bb7ecab33d4af30af 100644
--- a/uni_modules/uv-cell/components/uv-cell/props.js
+++ b/uni_modules/uv-cell/components/uv-cell/props.js
@@ -106,6 +106,11 @@ export default {
type: [Number, String],
default: ''
},
+ // 单元格自定义样式
+ cellStyle: {
+ type: [Object, String],
+ default: () => {}
+ },
...uni.$uv?.props?.cell
}
}
\ No newline at end of file
diff --git a/uni_modules/uv-cell/components/uv-cell/uv-cell.vue b/uni_modules/uv-cell/components/uv-cell/uv-cell.vue
index dafa05297ef1760f04174136b4f74745f408371d..bdd268e273bbe8d64aa24151f99efacf0d62c1bf 100644
--- a/uni_modules/uv-cell/components/uv-cell/uv-cell.vue
+++ b/uni_modules/uv-cell/components/uv-cell/uv-cell.vue
@@ -2,7 +2,10 @@
-
+
@@ -25,12 +28,12 @@
:class="[disabled && 'uv-cell--disabled', size === 'large' && 'uv-cell__value--large']"
v-if="!$uv.test.empty(value)">{{ value }}
-
-
+
+
-
@@ -64,6 +67,7 @@
* @property {Object | String} iconStyle 左侧图标样式
* @property {String} size 单位元的大小,可选值为 large,normal,mini
* @property {Boolean} stop 点击cell是否阻止事件传播 (默认 true )
+ * @property {Object | String} cellStyle 单元格自定义样式
* @property {Object} customStyle 定义需要用到的外部样式
*
* @event {Function} click 点击cell列表时触发
diff --git a/uni_modules/uv-cell/package.json b/uni_modules/uv-cell/package.json
index e37dd3584d06a4820c31b57a2586dc1843f2cf82..8ff5cf665fd1deee9501543ea02c246274cfc830 100644
--- a/uni_modules/uv-cell/package.json
+++ b/uni_modules/uv-cell/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-cell",
"displayName": "uv-cell 单元格 全面兼容小程序、nvue、vue2、vue3等多端",
- "version": "1.0.3",
+ "version": "1.0.5",
"description": "cell单元格一般用于一组列表的情况,比如个人中心页,设置页等。",
"keywords": [
"uv-cell",
diff --git a/uni_modules/uv-checkbox/changelog.md b/uni_modules/uv-checkbox/changelog.md
index c12b436ae1ecbb989a28b9d04acf041f1d535017..2a142ce77ea80c6d35ee5e1975a2b95fa16b2adf 100644
--- a/uni_modules/uv-checkbox/changelog.md
+++ b/uni_modules/uv-checkbox/changelog.md
@@ -1,3 +1,16 @@
+## 1.0.14(2023-11-04)
+1. 修复label文字较多不分行的问题
+## 1.0.13(2023-10-11)
+1. 优化同类问题:https://gitee.com/climblee/uv-ui/issues/I872VD
+## 1.0.12(2023-09-22)
+1. 修复change回调中v-model值不更新的BUG
+## 1.0.11(2023-09-01)
+1. 修复点击空隙处无效的问题
+2. label支持插槽下可点击
+## 1.0.10(2023-08-27)
+1. 修复label设置布尔值不生效的BUG
+## 1.0.9(2023-08-16)
+1. 解决数据多不换行的BUG
## 1.0.8(2023-07-13)
1. 修复 uv-checkbox设置value属性不生效的BUG
## 1.0.7(2023-07-05)
diff --git a/uni_modules/uv-checkbox/components/uv-checkbox-group/uv-checkbox-group.vue b/uni_modules/uv-checkbox/components/uv-checkbox-group/uv-checkbox-group.vue
index a53c70c5710323391924b0204bbbe84a32f5ee97..d5ea81f8b69262d8423c4152438698a6b97f4834 100644
--- a/uni_modules/uv-checkbox/components/uv-checkbox-group/uv-checkbox-group.vue
+++ b/uni_modules/uv-checkbox/components/uv-checkbox-group/uv-checkbox-group.vue
@@ -86,8 +86,6 @@
values.push(child.name)
}
})
- // 发出事件
- this.$emit('change', values)
// 修改通过v-model绑定的值
// #ifdef VUE2
this.$emit('input', values)
@@ -95,7 +93,9 @@
// #ifdef VUE3
this.$emit('update:modelValue',values)
// #endif
- },
+ // 发出事件
+ this.$emit('change', values)
+ }
}
}
@@ -105,7 +105,8 @@
@import '@/uni_modules/uv-ui-tools/libs/css/color.scss';
.uv-checkbox-group {
-
+ flex: 1;
+
&--row {
@include flex;
flex-wrap: wrap;
diff --git a/uni_modules/uv-checkbox/components/uv-checkbox/props.js b/uni_modules/uv-checkbox/components/uv-checkbox/props.js
index 4bcd013585240e401e09dfebd7ce1491d04710fc..58ec8904ed363bdd042fe54b74f90343efbaf4f0 100644
--- a/uni_modules/uv-checkbox/components/uv-checkbox/props.js
+++ b/uni_modules/uv-checkbox/components/uv-checkbox/props.js
@@ -47,7 +47,7 @@ export default {
},
// label提示文字,因为nvue下,直接slot进来的文字,由于特殊的结构,无法修改样式
label: {
- type: [String, Number],
+ type: [String, Number, Boolean],
default: ''
},
// label的字体大小,px单位
diff --git a/uni_modules/uv-checkbox/components/uv-checkbox/uv-checkbox.vue b/uni_modules/uv-checkbox/components/uv-checkbox/uv-checkbox.vue
index 62d2328e657aeecea45cc38e146bdfae66562d89..dfd19128ec7c7e235af4ca6e80245793067030c9 100644
--- a/uni_modules/uv-checkbox/components/uv-checkbox/uv-checkbox.vue
+++ b/uni_modules/uv-checkbox/components/uv-checkbox/uv-checkbox.vue
@@ -20,16 +20,20 @@
/>
-
- {{label}}
-
+
+
+ {{label}}
+
+
+
@@ -178,7 +182,7 @@
return this.$uv.deepMerge(style, this.$uv.addStyle(this.customStyle))
}
},
- mounted() {
+ created() {
this.init()
},
methods: {
@@ -260,7 +264,7 @@
@import '@/uni_modules/uv-ui-tools/libs/css/variable.scss';
@import '@/uni_modules/uv-ui-tools/libs/css/components.scss';
@import '@/uni_modules/uv-ui-tools/libs/css/color.scss';
- $uv-checkbox-icon-wrap-margin-right:6px !default;
+ $uv-checkbox-label-wrap-padding-right:6px !default;
$uv-checkbox-icon-wrap-font-size:6px !default;
$uv-checkbox-icon-wrap-border-width:1px !default;
$uv-checkbox-icon-wrap-border-color:#c8c9cc !default;
@@ -308,8 +312,6 @@
justify-content: center;
color: transparent;
text-align: center;
- margin-right: $uv-checkbox-icon-wrap-margin-right;
-
font-size: $uv-checkbox-icon-wrap-font-size;
border-width: $uv-checkbox-icon-wrap-border-width;
border-color: $uv-checkbox-icon-wrap-border-color;
@@ -359,5 +361,10 @@
color: $uv-checkbox-label-disabled-color;
}
}
+
+ &__label-wrap {
+ flex: 1;
+ padding-left: $uv-checkbox-label-wrap-padding-right;
+ }
}
diff --git a/uni_modules/uv-checkbox/package.json b/uni_modules/uv-checkbox/package.json
index ca363df263a4807af700db7519ed6e526bab702d..44944d9dff5ace5f77b9a004562043937952cc29 100644
--- a/uni_modules/uv-checkbox/package.json
+++ b/uni_modules/uv-checkbox/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-checkbox",
- "displayName": "uv-checkbox 复选框 全面兼容小程序、nvue、vue2、vue3等多端",
- "version": "1.0.8",
+ "displayName": "uv-checkbox 复选框 全面兼容vue3+2、app、h5、小程序等多端",
+ "version": "1.0.14",
"description": "复选框组件一般用于需要多个选择的场景,该组件功能完整,使用方便。",
"keywords": [
"uv-checkbox",
diff --git a/uni_modules/uv-checkbox/readme.md b/uni_modules/uv-checkbox/readme.md
index 7b4827296fd5b0a07344090ebe163ccf0e326002..43b6f2e025500e46cc3d64e1597944ca1911543a 100644
--- a/uni_modules/uv-checkbox/readme.md
+++ b/uni_modules/uv-checkbox/readme.md
@@ -2,10 +2,18 @@
> **组件名:uv-checkbox**
-复选框组件一般用于需要多个选择的场景,该组件功能完整,使用方便。
+复选框组件一般用于需要多个选择的场景,该组件功能完整,使用方便。可配合 `uv-form` 组件进行表单验证等场景使用。
-### 查看文档
+# 查看文档
-### [完整示例项目下载 | 关注更多组件](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui) (请不要 下载插件ZIP)
-#### 如使用过程中有任何问题,或者您对uv-ui有一些好的建议,欢迎加入 uv-ui 交流群:uv-ui、官方QQ群
+### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+
+
+
+
+
+
+#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群
\ No newline at end of file
diff --git a/uni_modules/uv-code/changelog.md b/uni_modules/uv-code/changelog.md
index afdff480f55bcc4b7dd247cdb02a4c4abc6e7e34..7054a25265460dc8174a1df29c52cbaf1c95cf51 100644
--- a/uni_modules/uv-code/changelog.md
+++ b/uni_modules/uv-code/changelog.md
@@ -1,3 +1,7 @@
+## 1.0.3(2023-10-13)
+1. 优化
+## 1.0.2(2023-10-13)
+1. unmounted兼容vue3
## 1.0.1(2023-05-16)
1. 优化组件依赖,修改后无需全局引入,组件导入即可使用
2. 优化部分功能
diff --git a/uni_modules/uv-code/components/uv-code/uv-code.vue b/uni_modules/uv-code/components/uv-code/uv-code.vue
index ed32b59c21a74ff751c018d748c775dbea31a0aa..de02c83d275daa46dac32f39c63074be5aa58e8b 100644
--- a/uni_modules/uv-code/components/uv-code/uv-code.vue
+++ b/uni_modules/uv-code/components/uv-code/uv-code.vue
@@ -116,11 +116,21 @@
}
}
},
+ // #ifdef VUE2
// 组件销毁的时候,清除定时器,否则定时器会继续存在,系统不会自动清除
beforeDestroy() {
this.setTimeToStorage()
clearTimeout(this.timer)
this.timer = null
+ },
+ // #endif
+ // #ifdef VUE3
+ // 组件销毁,兼容vue3
+ unmounted() {
+ this.setTimeToStorage()
+ clearTimeout(this.timer)
+ this.timer = null
}
+ // #endif
}
\ No newline at end of file
diff --git a/uni_modules/uv-code/package.json b/uni_modules/uv-code/package.json
index 3481f5776694e58f688e19da78377e9c11c16b25..d4392c0788bd39359b7835e72da9eabc0b3ff622 100644
--- a/uni_modules/uv-code/package.json
+++ b/uni_modules/uv-code/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-code",
"displayName": "uv-code 验证码倒计时 全面兼容小程序、nvue、vue2、vue3等多端",
- "version": "1.0.1",
+ "version": "1.0.3",
"description": "考虑到用户实际发送验证码的场景,可能是一个按钮,也可能是一段文字,提示语各有不同,所以本组件不提供界面显示,只提供倒计时文本,由用户将文本嵌入到具体的场景。",
"keywords": [
"uv-code",
diff --git a/uni_modules/uv-count-down/changelog.md b/uni_modules/uv-count-down/changelog.md
index 7344ff865812f5677340920bbc77c2d375a1d07c..44392c2c07fd78da54c553825337a395c99bc5d7 100644
--- a/uni_modules/uv-count-down/changelog.md
+++ b/uni_modules/uv-count-down/changelog.md
@@ -1,3 +1,5 @@
+## 1.0.3(2023-10-13)
+1. unmounted兼容vue3
## 1.0.2(2023-06-20)
1. 增加外部样式customStyle参数
## 1.0.1(2023-05-16)
diff --git a/uni_modules/uv-count-down/components/uv-count-down/uv-count-down.vue b/uni_modules/uv-count-down/components/uv-count-down/uv-count-down.vue
index 220ffeaf5da7a148e9fec168491038b122ab6608..a758d310b1ee467e66ab57e9dc080aacb109b7c0 100644
--- a/uni_modules/uv-count-down/components/uv-count-down/uv-count-down.vue
+++ b/uni_modules/uv-count-down/components/uv-count-down/uv-count-down.vue
@@ -141,9 +141,16 @@
this.timer = null
}
},
+ // #ifdef VUE2
beforeDestroy() {
this.clearTimeout()
+ },
+ // #endif
+ // #ifdef VUE3
+ unmounted() {
+ this.clearTimeout()
}
+ // #endif
}
\ No newline at end of file
diff --git a/uni_modules/uv-list/components/uv-list/uv-list.vue b/uni_modules/uv-list/components/uv-list/uv-list.vue
index 38d44816df02428a2b3e6b4cde7b682b08c02c90..3f3e5c29da1091075da2af7116d5adddbfbb25b4 100644
--- a/uni_modules/uv-list/components/uv-list/uv-list.vue
+++ b/uni_modules/uv-list/components/uv-list/uv-list.vue
@@ -1,7 +1,7 @@
{{text}}
@@ -77,6 +77,7 @@
* @property {String | Number} size 加载图标的大小,单位px (默认 24 )
* @property {String | Number} textSize 文字大小(默认 15 )
* @property {String | Number} text 文字内容
+ * @property {Object} textStyle 文字样式
* @property {String} timingFunction 动画模式 (默认 'ease-in-out' )
* @property {String | Number} duration 动画执行周期时间(默认 1200)
* @property {String} inactiveColor mode=circle时的暗边颜色
diff --git a/uni_modules/uv-loading-icon/package.json b/uni_modules/uv-loading-icon/package.json
index e24540544fd975907143d145910eec1c87e2f283..1485897a8e7acc2dac52dd21496baba87ee2e436 100644
--- a/uni_modules/uv-loading-icon/package.json
+++ b/uni_modules/uv-loading-icon/package.json
@@ -1,8 +1,8 @@
{
"id": "uv-loading-icon",
- "displayName": "uv-loading-icon 加载动画 全面兼容小程序、nvue、vue2、vue3等多端",
- "version": "1.0.2",
- "description": "uv-loading-icon 此组件为一个小动画,目前用在uv-ui的loadMore加载更多等组件的正在加载状态场景。",
+ "displayName": "uv-loading-icon 加载动画 全面兼容vue3+2、app、h5、小程序等多端",
+ "version": "1.0.3",
+ "description": "此组件为一个小动画,目前用在uv-ui的uv-load-more加载更多等组件,还可以运用在项目中正在加载状态场景。",
"keywords": [
"uv-loading-icon",
"uvui",
diff --git a/uni_modules/uv-loading-icon/readme.md b/uni_modules/uv-loading-icon/readme.md
index 63de21a674e3140e16ab86ea46731d4b36fbc305..7b0cf0fb5f6278fa2e04effd4732698c8cdb7ba3 100644
--- a/uni_modules/uv-loading-icon/readme.md
+++ b/uni_modules/uv-loading-icon/readme.md
@@ -2,10 +2,18 @@
> **组件名:uv-loading-icon**
-此组件为一个小动画,目前用在uv-ui的loadMore加载更多等组件的正在加载状态场景。
+此组件为一个小动画,目前用在 `uv-ui` 的 `uv-load-more` 加载更多等组件,还可以运用在项目中正在加载状态场景。
-### 查看文档
+# 查看文档
-### [完整示例项目下载 | 关注更多组件](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui) (请不要 下载插件ZIP)
-#### 如使用过程中有任何问题,或者您对uv-ui有一些好的建议,欢迎加入 uv-ui 交流群:uv-ui、官方QQ群
+### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+
+
+
+
+
+
+#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群
\ No newline at end of file
diff --git a/uni_modules/uv-loading-page/changelog.md b/uni_modules/uv-loading-page/changelog.md
index 421a07db54dcbc39fa55692431142f178cf8f11c..4b7ef61b64091be6e8b5b9f1280ac1c0951c30e3 100644
--- a/uni_modules/uv-loading-page/changelog.md
+++ b/uni_modules/uv-loading-page/changelog.md
@@ -1,3 +1,7 @@
+## 1.0.4(2024-01-20)
+1. 修改上版本带出的问题
+## 1.0.3(2024-01-15)
+1. 重构,避免初始加载的时候先显示页面的问题
## 1.0.2(2023-07-02)
uv-loading-page 由于弹出层uv-transition的修改,组件内部做了相应的修改,参数不变。
## 1.0.1(2023-05-16)
diff --git a/uni_modules/uv-loading-page/components/uv-loading-page/props.js b/uni_modules/uv-loading-page/components/uv-loading-page/props.js
index d6a8014b276196ba65a2022c2266c37e15d5afe2..f1a8a06c6dc6080c681daae9a040b0a19d60118c 100644
--- a/uni_modules/uv-loading-page/components/uv-loading-page/props.js
+++ b/uni_modules/uv-loading-page/components/uv-loading-page/props.js
@@ -33,18 +33,23 @@ export default {
// 文字大小
fontSize: {
type: [String, Number],
- default: 18
+ default: 16
},
// 图标大小
iconSize: {
type: [String, Number],
- default: 28
+ default: 26
},
// 加载中图标的颜色,只能rgb或者十六进制颜色值
loadingColor: {
type: String,
default: '#C8C8C8'
},
+ // 过渡时间
+ duration: {
+ type: [String, Number],
+ default: 300
+ },
...uni.$uv?.props?.loadingPage
}
}
\ No newline at end of file
diff --git a/uni_modules/uv-loading-page/components/uv-loading-page/uv-loading-page.vue b/uni_modules/uv-loading-page/components/uv-loading-page/uv-loading-page.vue
index bf4a512a80933a09198f69aab31f0b8cfa778cf4..8fb26d195fd9bef97755ac85e94176c0b4f511a6 100644
--- a/uni_modules/uv-loading-page/components/uv-loading-page/uv-loading-page.vue
+++ b/uni_modules/uv-loading-page/components/uv-loading-page/uv-loading-page.vue
@@ -1,106 +1,96 @@
-
-
-
-
-
-
-
-
- {{ loadingText }}
-
-
-
-
+
+
+
+
+ {{ loadingText }}
+
+
-
-
-
+
\ No newline at end of file
diff --git a/uni_modules/uv-loading-page/package.json b/uni_modules/uv-loading-page/package.json
index 7b88bb03f80ac36bda9e267684c5b0d0a4b08cd0..cc9b17195a73376537601480d1d2f791fb250955 100644
--- a/uni_modules/uv-loading-page/package.json
+++ b/uni_modules/uv-loading-page/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-loading-page",
"displayName": "uv-loading-page 加载页 全面兼容小程序、nvue、vue2、vue3等多端",
- "version": "1.0.2",
+ "version": "1.0.4",
"description": "uv-loading-page 该组件是一个页面级的加载效果,可以在页面初始化数据等场景使用,与骨架屏有相似之处。",
"keywords": [
"uv-loading-page",
diff --git a/uni_modules/uv-modal/changelog.md b/uni_modules/uv-modal/changelog.md
index 19a8461d05011e85d35822fb5c406c69b5d74940..d532286e1f106cdc81b3bc16a230f61862401dba 100644
--- a/uni_modules/uv-modal/changelog.md
+++ b/uni_modules/uv-modal/changelog.md
@@ -1,3 +1,17 @@
+## 1.0.11(2023-12-20)
+1. 优化
+## 1.0.10(2023-12-19)
+1. 修复confirm中快速使用closeLoading关闭加载状态失效的BUG
+## 1.0.9(2023-11-28)
+1. 修复上版本引出的确认和取消按钮均不显示,还有高度的BUG
+## 1.0.8(2023-09-08)
+1. 修复两个按钮之间竖线不显示的问题
+2. uv-ui项目自定义按钮示例修改
+## 1.0.7(2023-08-30)
+1. 增加align参数,设置文本对齐方式,left center right
+2. 增加textStyle参数,设置文本样式
+## 1.0.6(2023-08-23)
+1. 修复异步loading时,确认回调还会一直触发
## 1.0.5(2023-07-03)
去除插槽判断,避免某些平台不显示的BUG
## 1.0.4(2023-07-02)
diff --git a/uni_modules/uv-modal/components/uv-modal/props.js b/uni_modules/uv-modal/components/uv-modal/props.js
index aef2817a7c028853e69bb86fc50b0d0a9d5d5a1b..6cb1f41866e0354beaba0a66d0420993ded77b77 100644
--- a/uni_modules/uv-modal/components/uv-modal/props.js
+++ b/uni_modules/uv-modal/components/uv-modal/props.js
@@ -75,6 +75,16 @@ export default {
type: [String, Number],
default: '650rpx'
},
+ // 文本对齐方式,默认left
+ align: {
+ type: String,
+ default: 'left'
+ },
+ // 文本自定义样式
+ textStyle: {
+ type: [Object, String],
+ default: ''
+ },
...uni.$uv?.props?.modal
}
}
\ No newline at end of file
diff --git a/uni_modules/uv-modal/components/uv-modal/uv-modal.vue b/uni_modules/uv-modal/components/uv-modal/uv-modal.vue
index 996cb5df730e796e99bed11e3e3f08b699971997..4577b993334c6844d033bf2e022ac5ffc33a3b0d 100644
--- a/uni_modules/uv-modal/components/uv-modal/uv-modal.vue
+++ b/uni_modules/uv-modal/components/uv-modal/uv-modal.vue
@@ -31,12 +31,22 @@
}"
>
- {{ content }}
+ {{ content }}
查看文档
+特性:支持自定义内容,与uniapp提供的API `uni.showModal` 类似,但是功能更强大,更加灵活。
-### [完整示例项目下载 | 关注更多组件](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+运用场景:弹窗验证码输入等场景
-#### 如使用过程中有任何问题,或者您对uv-ui有一些好的建议,欢迎加入 uv-ui 交流群:uv-ui、官方QQ群
+# 查看文档
+
+## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui) (请不要 下载插件ZIP)
+
+### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+
+
+
+
+
+
+#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群
\ No newline at end of file
diff --git a/uni_modules/uv-navbar/changelog.md b/uni_modules/uv-navbar/changelog.md
index 4e1a7945a37ddaef2a05ea51e0e1b08c2149bd52..01cc4fd8b5b361064556c90a39d6f0fe257605cd 100644
--- a/uni_modules/uv-navbar/changelog.md
+++ b/uni_modules/uv-navbar/changelog.md
@@ -1,3 +1,5 @@
+## 1.0.7(2023-08-16)
+1. 修复ios可能存在点击返回按钮点不到的情况
## 1.0.6(2023-08-07)
1. 修复nvue在ios端可能存在背景图样式错乱的BUG
## 1.0.5(2023-08-04)
diff --git a/uni_modules/uv-navbar/components/uv-navbar/uv-navbar.vue b/uni_modules/uv-navbar/components/uv-navbar/uv-navbar.vue
index dd04d0e4aa72a647867ec88d0609b2801bd6906e..a46ad7adc75fbd6f344c3b9d2c8727a1e954824f 100644
--- a/uni_modules/uv-navbar/components/uv-navbar/uv-navbar.vue
+++ b/uni_modules/uv-navbar/components/uv-navbar/uv-navbar.vue
@@ -47,6 +47,7 @@
class="uv-line-1 uv-navbar__content__title"
:style="[{
width: $uv.addUnit(titleWidth),
+ flex: '0 1 auto'
}, $uv.addStyle(titleStyle)]"
>{{ title }}
diff --git a/uni_modules/uv-navbar/package.json b/uni_modules/uv-navbar/package.json
index 5f737a4932419469e14f46d4e6b793ecdd750593..8d429deb207cc44c46c27eb9df2958567aa93812 100644
--- a/uni_modules/uv-navbar/package.json
+++ b/uni_modules/uv-navbar/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-navbar",
"displayName": "uv-navbar 自定义导航栏 全面兼容vue3+2、app、h5、小程序等多端",
- "version": "1.0.6",
+ "version": "1.0.7",
"description": "uv-navbar 此组件一般用于在特殊情况下,需要自定义导航栏的时候用到,一般建议使用自带的原生导航栏。",
"keywords": [
"uv-navbar",
diff --git a/uni_modules/uv-notice-bar/changelog.md b/uni_modules/uv-notice-bar/changelog.md
index 27c3ba8b2362a9986c6219407feb9545b745921e..cdfec7dd3c01597d357073a93b6b31bd94cc2bb1 100644
--- a/uni_modules/uv-notice-bar/changelog.md
+++ b/uni_modules/uv-notice-bar/changelog.md
@@ -1,3 +1,5 @@
+## 1.0.7(2023-10-13)
+1. unmounted兼容vue3
## 1.0.6(2023-08-03)
1. 竖向滚动时候增加change回调
## 1.0.5(2023-07-21)
diff --git a/uni_modules/uv-notice-bar/components/uv-row-notice/uv-row-notice.vue b/uni_modules/uv-notice-bar/components/uv-row-notice/uv-row-notice.vue
index 5abf08b49c3ab2858dea17a1860ecd3ddd81a8e4..16117dde9f903f54ff07a559b5a32f1ec94d0212 100644
--- a/uni_modules/uv-notice-bar/components/uv-row-notice/uv-row-notice.vue
+++ b/uni_modules/uv-notice-bar/components/uv-row-notice/uv-row-notice.vue
@@ -273,10 +273,17 @@
}
},
// #ifdef APP-NVUE
+ // #ifdef VUE2
beforeDestroy() {
this.stopAnimation = true
},
// #endif
+ // #ifdef VUE3
+ unmounted() {
+ this.stopAnimation = true
+ }
+ // #endif
+ // #endif
};
diff --git a/uni_modules/uv-notice-bar/package.json b/uni_modules/uv-notice-bar/package.json
index b1e773dc2bc0fd00e61572865e7c6a007c309267..f1bca296824e63915b60f747cdd984b5dde702ec 100644
--- a/uni_modules/uv-notice-bar/package.json
+++ b/uni_modules/uv-notice-bar/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-notice-bar",
"displayName": "uv-notice-bar 滚动通知 全面兼容vue3+2、app、h5、小程序等多端",
- "version": "1.0.6",
+ "version": "1.0.7",
"description": "uv-notice-bar 该组件用于滚动通告场景,有多种模式可供选择。",
"keywords": [
"uv-notice-bar",
diff --git a/uni_modules/uv-notify/changelog.md b/uni_modules/uv-notify/changelog.md
index ff977a2889eba529af19344047a3e66044305335..5d818badade253a8b554a1667c681294d3b9903c 100644
--- a/uni_modules/uv-notify/changelog.md
+++ b/uni_modules/uv-notify/changelog.md
@@ -1,3 +1,5 @@
+## 1.0.3(2023-10-13)
+1. unmounted兼容vue3
## 1.0.2(2023-07-02)
uv-notify 由于弹出层uv-popup的修改,打开和关闭方法更改,详情参考文档:https://www.uvui.cn/components/notify.html
## 1.0.1(2023-05-16)
diff --git a/uni_modules/uv-notify/components/uv-notify/uv-notify.vue b/uni_modules/uv-notify/components/uv-notify/uv-notify.vue
index 3fe57e17d5a30d5677b0021cdfa724fe5c963ef4..96c156647be2e37fc6768363b420af341b247fe8 100644
--- a/uni_modules/uv-notify/components/uv-notify/uv-notify.vue
+++ b/uni_modules/uv-notify/components/uv-notify/uv-notify.vue
@@ -162,9 +162,16 @@
this.timer = null
}
},
+ // #ifdef VUE2
beforeDestroy() {
this.clearTimer()
+ },
+ // #endif
+ // #ifdef VUE3
+ unmounted() {
+ this.clearTimer()
}
+ // #endif
}
diff --git a/uni_modules/uv-notify/package.json b/uni_modules/uv-notify/package.json
index 0f7e165fd2837e93f8ef152d6f1f8e2b46d58821..921949b91f5bc8ec54d832105ccbaaf6d2663ef7 100644
--- a/uni_modules/uv-notify/package.json
+++ b/uni_modules/uv-notify/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-notify",
"displayName": "uv-notify 消息提示 全面兼容小程序、nvue、vue2、vue3等多端",
- "version": "1.0.2",
+ "version": "1.0.3",
"description": "uv-notify 该组件一般用于页面顶部向下滑出一个提示,后自动收起的场景。",
"keywords": [
"uv-notify",
diff --git a/uni_modules/uv-pick-color/changelog.md b/uni_modules/uv-pick-color/changelog.md
index 92472237e6d45989ec0d3a1a1618d96a87be7849..7788c12db10cbefe9a7e1bfa455072f2469b1297 100644
--- a/uni_modules/uv-pick-color/changelog.md
+++ b/uni_modules/uv-pick-color/changelog.md
@@ -1,3 +1,5 @@
+## 1.0.8(2023-08-14)
+1. 取消scrollTop参数,使用clientY
## 1.0.7(2023-08-13)
1. 增加scrollTop参数,设置滚动条的位置。不设置如果页面出现滚动就需要传该值,会出现颜色面板无法进行选颜色的情况。
## 1.0.6(2023-08-04)
diff --git a/uni_modules/uv-pick-color/components/uv-pick-color/props.js b/uni_modules/uv-pick-color/components/uv-pick-color/props.js
index a3d92ae3d37d3cbac70e9e97eec1310e34e09e95..a57f0635f6fb7fa9d2e1577387c7dfd527e579cd 100644
--- a/uni_modules/uv-pick-color/components/uv-pick-color/props.js
+++ b/uni_modules/uv-pick-color/components/uv-pick-color/props.js
@@ -42,11 +42,6 @@ export default {
type: String,
default: '#3c9cff'
},
- // 滚动条的位置
- scrollTop: {
- type: [String, Number],
- default: 0
- },
...uni.$uv?.props?.pickColor
}
}
\ No newline at end of file
diff --git a/uni_modules/uv-pick-color/components/uv-pick-color/uv-pick-color.vue b/uni_modules/uv-pick-color/components/uv-pick-color/uv-pick-color.vue
index e701bba472c6aa84016d2978f999edfa0d502cf4..f283a924c54bcbef41f72a730a3b865307cffbdb 100644
--- a/uni_modules/uv-pick-color/components/uv-pick-color/uv-pick-color.vue
+++ b/uni_modules/uv-pick-color/components/uv-pick-color/uv-pick-color.vue
@@ -293,23 +293,22 @@
this.mode = !this.mode;
},
touchstart(e, index) {
- const { pageX, pageY } = e.touches[0];
- this.pageX = pageX;
- this.pageY = pageY;
- this.setPosition(pageX, pageY, index);
+ const { clientX, clientY } = e.touches[0];
+ this.pageX = clientX;
+ this.pageY = clientY;
+ this.setPosition(clientX, clientY, index);
},
touchmove(e, index) {
- const { pageX, pageY } = e.touches[0];
- this.moveX = pageX;
- this.moveY = pageY;
- this.setPosition(pageX, pageY, index);
+ const { clientX, clientY } = e.touches[0];
+ this.moveX = clientX;
+ this.moveY = clientY;
+ this.setPosition(clientX, clientY, index);
},
touchend(e, index) {},
/**
* 设置位置
*/
setPosition(x, y, index) {
- y = y - this.scrollTop;
this.index = index;
const { top, left, width, height } = this.position[index];
// 设置最大最小值
diff --git a/uni_modules/uv-pick-color/package.json b/uni_modules/uv-pick-color/package.json
index 84c69e69b6579ad45338ef773e8adb5d323841f1..21a6b9ac9d5f66a795b61f05e6420d772107f70b 100644
--- a/uni_modules/uv-pick-color/package.json
+++ b/uni_modules/uv-pick-color/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-pick-color",
"displayName": "uv-pick-color 颜色选择器 全面兼容vue3+2、app、h5、小程序等多端",
- "version": "1.0.7",
+ "version": "1.0.8",
"description": "该组件为颜色选择器,支持预制颜色,初始化颜色,简单配置,开箱即用",
"keywords": [
"uv-pick-color",
diff --git a/uni_modules/uv-picker/changelog.md b/uni_modules/uv-picker/changelog.md
index bb8e9efaa31626bbb4d2e2042fe74c26b1ba0970..532be9b83d09528607073281d949b293319a6a42 100644
--- a/uni_modules/uv-picker/changelog.md
+++ b/uni_modules/uv-picker/changelog.md
@@ -1,3 +1,15 @@
+## 1.0.14(2023-12-29)
+1. 修复上个版本引出的BUG
+## 1.0.13(2023-12-26)
+1. 修复抖音小程序滚到底不触发change的BUG
+## 1.0.12(2023-11-20)
+1. 修复issues反馈的问题uv-picker在组合式API的自定义组件中,columns动态赋值无法显示选项:https://gitee.com/climblee/uv-ui/issues/I8H0GQ
+## 1.0.11(2023-10-11)
+1. 将immediate-change默认值改为true,该值在于change回调的及时性,微信小程序生效
+## 1.0.10(2023-08-25)
+1. 增加round属性设置弹窗圆角,默认为0
+## 1.0.9(2023-08-24)
+1. 修复cli项目不返回值的问题
## 1.0.8(2023-08-04)
1. 优化
## 1.0.7(2023-08-02)
diff --git a/uni_modules/uv-picker/components/uv-picker/props.js b/uni_modules/uv-picker/components/uv-picker/props.js
index 8bcb18f3a0042b7a5278e046e2caffd26ab4bea1..19549a69209e3295f04663f793f1727ab2839ccc 100644
--- a/uni_modules/uv-picker/components/uv-picker/props.js
+++ b/uni_modules/uv-picker/components/uv-picker/props.js
@@ -10,6 +10,11 @@ export default {
type: String,
default: ''
},
+ // 弹窗圆角
+ round: {
+ type: [String, Number],
+ default: 0
+ },
// 对象数组,设置每一列的数据
columns: {
type: Array,
@@ -83,7 +88,7 @@ export default {
// 是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件,只在微信2.21.1及以上有效
immediateChange: {
type: Boolean,
- default: false
+ default: true
},
...uni.$uv?.props?.picker
}
diff --git a/uni_modules/uv-picker/components/uv-picker/uv-picker.vue b/uni_modules/uv-picker/components/uv-picker/uv-picker.vue
index c0478344ac54cf02f989ba57d40219124148253c..c5e7c8ae68c455111d40a43442b03035e8a247e7 100644
--- a/uni_modules/uv-picker/components/uv-picker/uv-picker.vue
+++ b/uni_modules/uv-picker/components/uv-picker/uv-picker.vue
@@ -2,6 +2,7 @@
@@ -16,6 +17,19 @@
@cancel="cancel"
@confirm="confirm"
>
+
+
+
+
+
+
item[this.innerIndex[index]]),
values: this.innerColumns
- });
+ }));
if(this.closeOnClickConfirm) {
this.close();
}
diff --git a/uni_modules/uv-picker/package.json b/uni_modules/uv-picker/package.json
index 534573e28ca6b8f87e4f84214da434fb297d7af9..0d62d7eb702c100dd16f8f8ab3b54d72d7706adf 100644
--- a/uni_modules/uv-picker/package.json
+++ b/uni_modules/uv-picker/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-picker",
"displayName": "uv-picker 选择器 全面兼容vue3+2、app、h5、小程序等多端",
- "version": "1.0.8",
+ "version": "1.0.14",
"description": "uv-picker 此选择器用于单列,多列,多列联动的选择场景...",
"keywords": [
"uv-picker",
diff --git a/uni_modules/uv-popup/changelog.md b/uni_modules/uv-popup/changelog.md
index c60558adf3d64cde0756a3c63cb4568c41e937d4..8bb39925f814c937fc03538dba5deb208a7b66ef 100644
--- a/uni_modules/uv-popup/changelog.md
+++ b/uni_modules/uv-popup/changelog.md
@@ -1,3 +1,10 @@
+## 1.0.7(2023-11-20)
+修复issues问题:https://gitee.com/climblee/uv-ui/issues/I8HDLO
+## 1.0.6(2023-10-13)
+1. 优化vue,内容有背景色,设置圆角被遮挡的情况
+## 1.0.5(2023-09-10)
+1. 修复H5默认层级过高的问题
+2. 修复全局设置prop无效的问题
## 1.0.4(2023-08-08)
1. 修复修改zIndex不生效的BUG
## 1.0.3(2023-07-02)
diff --git a/uni_modules/uv-popup/components/uv-popup/props.js b/uni_modules/uv-popup/components/uv-popup/props.js
deleted file mode 100644
index 02a88bd4c02ecbbd53f96abcc6aac351d5fcf5c8..0000000000000000000000000000000000000000
--- a/uni_modules/uv-popup/components/uv-popup/props.js
+++ /dev/null
@@ -1,80 +0,0 @@
-export default {
- props: {
- // 是否展示弹窗
- show: {
- type: Boolean,
- default: false
- },
- // 是否显示遮罩
- overlay: {
- type: Boolean,
- default: true
- },
- // 弹出的方向,可选值为 top bottom right left center
- mode: {
- type: String,
- default: 'bottom'
- },
- // 动画时长,单位ms
- duration: {
- type: [String, Number],
- default: 300
- },
- // 是否显示关闭图标
- closeable: {
- type: Boolean,
- default: false
- },
- // 自定义遮罩的样式
- overlayStyle: {
- type: [Object, String],
- default: ''
- },
- // 点击遮罩是否关闭弹窗
- closeOnClickOverlay: {
- type: Boolean,
- default: true
- },
- // 层级
- zIndex: {
- type: [String, Number],
- default: 10075
- },
- // 是否为iPhoneX留出底部安全距离
- safeAreaInsetBottom: {
- type: Boolean,
- default: true
- },
- // 是否留出顶部安全距离(状态栏高度)
- safeAreaInsetTop: {
- type: Boolean,
- default: false
- },
- // 自定义关闭图标位置,top-left为左上角,top-right为右上角,bottom-left为左下角,bottom-right为右下角
- closeIconPos: {
- type: String,
- default: 'top-right'
- },
- // 圆角值
- round: {
- type: [Boolean, String, Number],
- default: 0
- },
- // mode=center,也即中部弹出时,是否使用缩放模式
- zoom: {
- type: Boolean,
- default: true
- },
- // 弹窗背景色,设置为transparent可去除白色背景
- bgColor: {
- type: String,
- default: ''
- },
- // 遮罩的透明度,0-1之间
- overlayOpacity: {
- type: [Number, String],
- default: 0.5
- },
- ...uni.$uv?.props?.popup
- }
-}
\ No newline at end of file
diff --git a/uni_modules/uv-popup/components/uv-popup/uv-popup.vue b/uni_modules/uv-popup/components/uv-popup/uv-popup.vue
index 20bd100a44e246f2525d801b2e297414b023b4da..a63ff9d624b1995597c4e81eb921b8bf7dd503f0 100644
--- a/uni_modules/uv-popup/components/uv-popup/uv-popup.vue
+++ b/uni_modules/uv-popup/components/uv-popup/uv-popup.vue
@@ -115,7 +115,12 @@
// 层级
zIndex: {
type: [String, Number],
+ // #ifdef H5
+ default: 997
+ // #endif
+ // #ifndef H5
default: 10075
+ // #endif
},
bgColor: {
type: String,
@@ -173,7 +178,8 @@
round: {
type: [Number, String],
default: 0
- }
+ },
+ ...uni.$uv?.props?.popup
},
watch: {
/**
@@ -225,7 +231,8 @@
},
maskShow: true,
mkclick: true,
- popupClass: this.isDesktop ? 'fixforpc-top' : 'top'
+ popupClass: this.isDesktop ? 'fixforpc-top' : 'top',
+ direction: ''
}
},
computed: {
@@ -245,14 +252,15 @@
}
if(this.round) {
const value = this.$uv.addUnit(this.round)
+ const mode = this.direction?this.direction:this.mode
style.backgroundColor = this.bgColor
- if(this.mode === 'top') {
+ if(mode === 'top') {
style.borderBottomLeftRadius = value
style.borderBottomRightRadius = value
- } else if(this.mode === 'bottom') {
+ } else if(mode === 'bottom') {
style.borderTopLeftRadius = value
style.borderTopRightRadius = value
- } else if(this.mode === 'center') {
+ } else if(mode === 'center') {
style.borderRadius = value
}
}
@@ -306,6 +314,8 @@
let innerType = ['top', 'center', 'bottom', 'left', 'right', 'message', 'dialog', 'share']
if (!(direction && innerType.indexOf(direction) !== -1)) {
direction = this.mode
+ }else {
+ this.direction = direction;
}
if (!this.config[direction]) {
return this.$uv.error(`缺少类型:${direction}`);
@@ -473,6 +483,7 @@
.uv-popup__content {
/* #ifndef APP-NVUE */
display: block;
+ overflow: hidden;
/* #endif */
position: relative;
diff --git a/uni_modules/uv-popup/package.json b/uni_modules/uv-popup/package.json
index 8e70e7345323afab7a281d487c63abfdecc74233..53c112ce9777b8ca4492fb3bdff8ecb8457d22c9 100644
--- a/uni_modules/uv-popup/package.json
+++ b/uni_modules/uv-popup/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-popup",
"displayName": "uv-popup 弹出层 全面兼容vue3+2、app、h5、小程序等多端",
- "version": "1.0.4",
+ "version": "1.0.7",
"description": "uv-popup 弹出层容器,用于展示弹窗、信息提示等内容,支持上、下、左、右和中部弹出。组件只提供容器,内部内容由用户自定义。",
"keywords": [
"uv-popup",
diff --git a/uni_modules/uv-qrcode/changelog.md b/uni_modules/uv-qrcode/changelog.md
index deeba5cabf61d29b781d48f407640e4bd41c5048..70d8ba1488a83b10c0255d66ed43d2906300bfe0 100644
--- a/uni_modules/uv-qrcode/changelog.md
+++ b/uni_modules/uv-qrcode/changelog.md
@@ -1,3 +1,5 @@
+## 1.0.5(2023-12-19)
+1. 优化
## 1.0.4(2023-07-17)
1. 优化文档
2. 优化其他
diff --git a/uni_modules/uv-qrcode/components/uv-qrcode/uv-qrcode.vue b/uni_modules/uv-qrcode/components/uv-qrcode/uv-qrcode.vue
index 4683b9997351c671b7bbdd1b068663e677b7002f..dd8cfc0461f3624bd3a9b3e0661b0cfb95523a0f 100644
--- a/uni_modules/uv-qrcode/components/uv-qrcode/uv-qrcode.vue
+++ b/uni_modules/uv-qrcode/components/uv-qrcode/uv-qrcode.vue
@@ -258,7 +258,9 @@
this.templateOptions.canvasHeight})`;
}
if (this.start) {
- this.make();
+ this.$nextTick(()=>{
+ this.make();
+ })
}
},
methods: {
diff --git a/uni_modules/uv-qrcode/package.json b/uni_modules/uv-qrcode/package.json
index 2f7a12b0bff0a086eb062e3f2ded88acdf2a0599..c85e74f44b081c8eacc766a31ab0d168aec07c3a 100644
--- a/uni_modules/uv-qrcode/package.json
+++ b/uni_modules/uv-qrcode/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-qrcode",
"displayName": "uv-qrcode 二维码 全面兼容vue3+2、app、h5、小程序等多端",
- "version": "1.0.4",
+ "version": "1.0.5",
"description": "该组件是超级强大二维码生成功能,可扩展性高。自定义二维码样式,如随机颜色、圆点、方块、块与块之间的间距等等,具体请查看文档。",
"keywords": [
"uv-qrcode",
diff --git a/uni_modules/uv-radio/changelog.md b/uni_modules/uv-radio/changelog.md
index bc17562273011439e8880d8f3c191c2c0965d522..e51b18188d16465a4088a7a785e6beed9f33466d 100644
--- a/uni_modules/uv-radio/changelog.md
+++ b/uni_modules/uv-radio/changelog.md
@@ -1,3 +1,18 @@
+## 1.0.13(2023-12-19)
+1. 修复在group设置labelColor不生效的BUG
+## 1.0.12(2023-11-04)
+1. 修复label文字较多不分行的问题
+## 1.0.11(2023-10-11)
+1. 优化:https://gitee.com/climblee/uv-ui/issues/I872VD
+## 1.0.10(2023-09-01)
+1. 修复点击空隙处无效的问题
+2. label支持插槽下可点击
+## 1.0.9(2023-08-27)
+1. 优化
+## 1.0.8(2023-08-26)
+1. 修复v-model 绑定布尔值控制台报警
+## 1.0.7(2023-08-26)
+1. 修复设置 labelSize 属性设置无效的问题:https://gitee.com/climblee/uv-ui/issues/I7W6UN
## 1.0.6(2023-08-04)
1. 修复name为数字0时不能选中的BUG
## 1.0.5(2023-07-13)
diff --git a/uni_modules/uv-radio/components/uv-radio-group/props.js b/uni_modules/uv-radio/components/uv-radio-group/props.js
index cd009f77ff56f3fc8e569a5982958347fd99ee4b..b0dbd15aa868b6acb22bc34bd18690583882485d 100644
--- a/uni_modules/uv-radio/components/uv-radio-group/props.js
+++ b/uni_modules/uv-radio/components/uv-radio-group/props.js
@@ -6,7 +6,7 @@ export default {
default: ''
},
modelValue: {
- type: [String, Number],
+ type: [String, Number, Boolean],
default: ''
},
// 是否禁用全部radio
diff --git a/uni_modules/uv-radio/components/uv-radio/props.js b/uni_modules/uv-radio/components/uv-radio/props.js
index cae599d674520fbb68b3107d3e68c3ab5a7e7b23..1e5e2ac8e9552b5ba6b57c529e77589fbdabd120 100644
--- a/uni_modules/uv-radio/components/uv-radio/props.js
+++ b/uni_modules/uv-radio/components/uv-radio/props.js
@@ -42,7 +42,7 @@ export default {
},
// label提示文字,因为nvue下,直接slot进来的文字,由于特殊的结构,无法修改样式
label: {
- type: [String, Number],
+ type: [String, Number, Boolean],
default: ''
},
// 整体的大小
diff --git a/uni_modules/uv-radio/components/uv-radio/uv-radio.vue b/uni_modules/uv-radio/components/uv-radio/uv-radio.vue
index c9b3f336feb3203f322ce1beadb6f8badc2bd715..3c0236c1f9d7774855c7b70f0611ad69a498a36f 100644
--- a/uni_modules/uv-radio/components/uv-radio/uv-radio.vue
+++ b/uni_modules/uv-radio/components/uv-radio/uv-radio.vue
@@ -20,17 +20,19 @@
/>
-
- {{label}}
-
+
+
+ {{label}}
+
+
@@ -122,7 +127,7 @@
const scrollLeft = this.scrollInfo.scrollLeft,
scrollWidth = this.scrollInfo.scrollWidth,
barAllMoveWidth = this.indicatorWidth - this.indicatorBarWidth
- const x = scrollLeft / (scrollWidth - this.scrollWidth) * barAllMoveWidth
+ const x = scrollLeft / (scrollWidth - this.scrollWidth) * this.$uv.getPx(this.$uv.addUnit(barAllMoveWidth))
style.transform = `translateX(${ x }px)`
// #endif
// 设置滑块的宽度和背景色,是每个平台都需要的
diff --git a/uni_modules/uv-scroll-list/package.json b/uni_modules/uv-scroll-list/package.json
index 871d1d5970ce9122f941bdde4018d5edf642feb4..942a83603bbeb12abfbaacb98cefb53b7e94c3ef 100644
--- a/uni_modules/uv-scroll-list/package.json
+++ b/uni_modules/uv-scroll-list/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-scroll-list",
"displayName": "uv-scroll-list 横向滚动列表 全面兼容vue3+2、app、h5、小程序等多端",
- "version": "1.0.2",
+ "version": "1.0.5",
"description": "该组件一般用于同时展示多个商品、分类的场景,也可以完成左右滑动的列表,往往数量不确定,数量较多支持左右滚动。灵活配置,开箱即用。",
"keywords": [
"uv-scroll-list",
diff --git a/uni_modules/uv-search/changelog.md b/uni_modules/uv-search/changelog.md
index 54689e2598be3485e97faf17a75ecdc85fd635c5..6519601c6d50905c971cccf825df8c7dae42bb02 100644
--- a/uni_modules/uv-search/changelog.md
+++ b/uni_modules/uv-search/changelog.md
@@ -1,3 +1,9 @@
+## 1.0.11(2023-11-10)
+1. 调整清除按钮样式的marginLeft,避免微信上多数情况触发不了的BUG
+## 1.0.10(2023-11-04)
+1. 修复设置disabled情况下,@click回调事件触发不了的bug
+## 1.0.9(2023-08-18)
+1. 修复boxStyle失效的BUG
## 1.0.8(2023-08-07)
修复值为null或undefined时显示错误的bug
## 1.0.7(2023-08-05)
diff --git a/uni_modules/uv-search/components/uv-search/props.js b/uni_modules/uv-search/components/uv-search/props.js
index 6896db5489bc3bb3b5b858103db314592c6e5b33..338d99c50d50f2f026b5042b843fb52f3ee4f557 100644
--- a/uni_modules/uv-search/components/uv-search/props.js
+++ b/uni_modules/uv-search/components/uv-search/props.js
@@ -120,7 +120,7 @@ export default {
// 搜索框扩展样式
boxStyle: {
type: [String, Object],
- default: ()=>{}
+ default: () => ({})
},
...uni.$uv?.props?.search
}
diff --git a/uni_modules/uv-search/components/uv-search/uv-search.vue b/uni_modules/uv-search/components/uv-search/uv-search.vue
index 215738c2e9fd98a9406f2a4c732d4eb1096700f6..216f4e15d94c7a3ef14917f5e5595a43191627fe 100644
--- a/uni_modules/uv-search/components/uv-search/uv-search.vue
+++ b/uni_modules/uv-search/components/uv-search/uv-search.vue
@@ -8,12 +8,13 @@
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uni_modules/uv-skeletons/package.json b/uni_modules/uv-skeletons/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..9a362990752338723ddae870d4e606aed821444f
--- /dev/null
+++ b/uni_modules/uv-skeletons/package.json
@@ -0,0 +1,88 @@
+{
+ "id": "uv-skeletons",
+ "displayName": "uv-skeletons 骨架屏 全面兼容小程序、nvue、vue2、vue3等多端",
+ "version": "1.0.1",
+ "description": "全新升级骨架屏,更加灵活,体验更加,强烈推荐使用新版骨架屏。一般用于页面在请求远程数据尚未完成时,在内容加载出来前展示与内容布局结构一致的灰白块,提升用户视觉体验。",
+ "keywords": [
+ "uv-skeletons",
+ "uvui",
+ "uv-ui",
+ "skeleton",
+ "骨架屏"
+],
+ "repository": "",
+ "engines": {
+ "HBuilderX": "^3.1.0"
+ },
+ "dcloudext": {
+ "type": "component-vue",
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "插件不采集任何数据",
+ "permissions": "无"
+ },
+ "npmurl": ""
+ },
+ "uni_modules": {
+ "dependencies": [
+ "uv-ui-tools",
+ "uv-text"
+ ],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ },
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y",
+ "钉钉": "u",
+ "快手": "u",
+ "飞书": "u",
+ "京东": "u"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/uv-skeletons/readme.md b/uni_modules/uv-skeletons/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..a08cec1239f8729276efbb3aa4620aa347219f85
--- /dev/null
+++ b/uni_modules/uv-skeletons/readme.md
@@ -0,0 +1,23 @@
+# Skeletons 新版骨架屏
+
+> **组件名:uv-skeletons**
+
+骨架屏一般用于页面在请求远程数据尚未完成时,在内容加载出来前展示与内容布局结构一致的灰白块,提升用户视觉体验。
+
+新版骨架屏与老版本使用参数有很大的区别,所以才有了新版本,无法替换老版本。
+
+新版骨架屏比老版本骨架屏更加灵活,理论上简单的左右上下布局结构均可以轻松实现,样式自由度较高,只要你会写css,推荐使用新版。
+
+# 查看文档
+
+## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui) (请不要 下载插件ZIP)
+
+### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+
+
+
+
+
+
+#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群
\ No newline at end of file
diff --git a/uni_modules/uv-sticky/changelog.md b/uni_modules/uv-sticky/changelog.md
index 801c4f149bdb40b692720a7d7988ad13d0b8dd5e..c079cce970985967757390c3d618b2de035c5bf0 100644
--- a/uni_modules/uv-sticky/changelog.md
+++ b/uni_modules/uv-sticky/changelog.md
@@ -1,3 +1,9 @@
+## 1.0.4(2023-12-20)
+1. 优化
+## 1.0.3(2023-10-13)
+1. unmounted兼容vue3
+## 1.0.2(2023-08-27)
+1. 优化
## 1.0.1(2023-05-16)
1. 优化组件依赖,修改后无需全局引入,组件导入即可使用
2. 优化部分功能
diff --git a/uni_modules/uv-sticky/components/uv-sticky/uv-sticky.vue b/uni_modules/uv-sticky/components/uv-sticky/uv-sticky.vue
index 1b26942c5f3f29bd2505f7316403afacfe4acc25..4ca7b4536b9c1e88dabf6d5efa945b8f7017b1f6 100644
--- a/uni_modules/uv-sticky/components/uv-sticky/uv-sticky.vue
+++ b/uni_modules/uv-sticky/components/uv-sticky/uv-sticky.vue
@@ -28,8 +28,6 @@
* @property {String | Number} zIndex 吸顶时的z-index值
* @property {String | Number} index 自定义标识,用于区分是哪一个组件
* @property {Object} customStyle 组件的样式,对象形式
- * @event {Function} fixed 组件吸顶时触发
- * @event {Function} unfixed 组件取消吸顶时触发
* @example 塞下秋来风景异,衡阳雁去无留意
*/
export default {
@@ -67,7 +65,7 @@
// #endif
}
style.backgroundColor = this.bgColor
- return this.$uv.deepMerge(this.$uv.addStyle(this.customStyle), style)
+ return this.$uv.deepMerge(style, this.$uv.addStyle(this.customStyle))
},
// 吸顶内容的样式
stickyContent() {
@@ -201,9 +199,16 @@
// #endif
}
},
+ // #ifdef VUE2
beforeDestroy() {
this.disconnectObserver('contentObserver')
+ },
+ // #endif
+ // #ifdef VUE3
+ unmounted() {
+ this.disconnectObserver('contentObserver')
}
+ // #endif
}
diff --git a/uni_modules/uv-sticky/package.json b/uni_modules/uv-sticky/package.json
index 22fec5c3e452d68845d563f943854cebd8efe505..036f92204082f97ca7d8318ce7cd2bade278bb79 100644
--- a/uni_modules/uv-sticky/package.json
+++ b/uni_modules/uv-sticky/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-sticky",
"displayName": "uv-sticky 吸顶 全面兼容小程序、nvue、vue2、vue3等多端",
- "version": "1.0.1",
+ "version": "1.0.4",
"description": "吸顶组件与CSS中position: sticky属性实现的效果一致,当组件达到预设的到顶部距离时, 就会固定在指定位置,组件位置大于预设的顶部距离时,会重新按照正常的布局排列。",
"keywords": [
"uv-sticky",
diff --git a/uni_modules/uv-subsection/changelog.md b/uni_modules/uv-subsection/changelog.md
index a19b5fff178e023c649c61f07570e399e7758e94..8a0fd65fa84b8c1b16b63ede940f0d4926f04b19 100644
--- a/uni_modules/uv-subsection/changelog.md
+++ b/uni_modules/uv-subsection/changelog.md
@@ -1,3 +1,8 @@
+## 1.0.3(2023-12-20)
+1. 优化
+## 1.0.2(2023-11-27)
+1. 增加customItemStyle属性,方便修改bar样式
+2. 文档后续更新
## 1.0.1(2023-05-16)
1. 优化组件依赖,修改后无需全局引入,组件导入即可使用
2. 优化部分功能
diff --git a/uni_modules/uv-subsection/components/uv-subsection/props.js b/uni_modules/uv-subsection/components/uv-subsection/props.js
index ad8a124c029533c9ea3afd8a905e1a5519ff7b1a..ef5568eb35557408e274700074b79b58e406294a 100644
--- a/uni_modules/uv-subsection/components/uv-subsection/props.js
+++ b/uni_modules/uv-subsection/components/uv-subsection/props.js
@@ -45,6 +45,10 @@ export default {
type: String,
default: 'name'
},
+ customItemStyle: {
+ type: [String, Object],
+ default: ''
+ },
...uni.$uv?.props?.subsection
}
}
\ No newline at end of file
diff --git a/uni_modules/uv-subsection/components/uv-subsection/uv-subsection.vue b/uni_modules/uv-subsection/components/uv-subsection/uv-subsection.vue
index 6084d495158551d610fb1e58467abfddc716c8fc..64338aed6e77059a8fd8ccc51b5e94536dd75922 100644
--- a/uni_modules/uv-subsection/components/uv-subsection/uv-subsection.vue
+++ b/uni_modules/uv-subsection/components/uv-subsection/uv-subsection.vue
@@ -1,39 +1,37 @@
-
-
+ mode === 'button' && 'uv-subsection--button__bar',
+ current === 0 && mode === 'subsection' && 'uv-subsection__bar--first',
+ current > 0 && current < list.length - 1 && mode === 'subsection' && 'uv-subsection__bar--center',
+ current === list.length - 1 && mode === 'subsection' && 'uv-subsection__bar--last'
+ ]"
+ >
- {{ getText(item) }}
+ :key="index"
+ >
+ {{ getText(item) }}
+
@@ -73,12 +71,15 @@
itemRect: {
width: 0,
height: 0,
- },
- };
+ }
+ }
},
watch: {
- list(newValue, oldValue) {
- this.init();
+ list: {
+ deep: true,
+ handler(){
+ this.init();
+ }
},
current: {
immediate: true,
@@ -88,20 +89,18 @@
// 故用animation模块进行位移
const ref = this.$refs?.["uv-subsection__bar"]?.ref;
// 不存在ref的时候(理解为第一次初始化时,需要渲染dom,进行一定延时再获取ref),这里的100ms是经过测试得出的结果(某些安卓需要延时久一点),勿随意修改
- this.$uv.sleep(ref ? 0 : 100).then(() => {
+ this.$uv.sleep(ref ? 0 : 150).then(() => {
animation.transition(this.$refs["uv-subsection__bar"].ref, {
styles: {
- transform: `translateX(${
- n * this.itemRect.width
- }px)`,
- transformOrigin: "center center",
+ transform: `translateX(${ n * this.itemRect.width }px)`,
+ transformOrigin: "center center"
},
duration: 300,
});
});
// #endif
- },
- },
+ }
+ }
},
computed: {
wrapperStyle() {
@@ -119,15 +118,13 @@
style.height = `${this.itemRect.height}px`;
// 通过translateX移动滑块,其移动的距离为索引*item的宽度
// #ifndef APP-NVUE
- style.transform = `translateX(${
- this.current * this.itemRect.width
- }px)`;
+ style.transform = `translateX(${ this.current * this.itemRect.width }px)`;
// #endif
if (this.mode === "subsection") {
// 在subsection模式下,需要动态设置滑块的圆角,因为移动滑块使用的是translateX,无法通过父元素设置overflow: hidden隐藏滑块的直角
style.backgroundColor = this.activeColor;
}
- return style;
+ return this.$uv.deepMerge(style, this.$uv.addStyle(this.customItemStyle));
},
// 分段器item的样式
itemStyle(index) {
@@ -146,19 +143,14 @@
textStyle(index) {
return (index) => {
const style = {};
- style.fontWeight =
- this.bold && this.current === index ? "bold" : "normal";
+ style.fontWeight = this.bold && this.current === index ? "bold" : "normal";
style.fontSize = this.$uv.addUnit(this.fontSize);
// subsection模式下,激活时默认为白色的文字
if (this.mode === "subsection") {
- style.color =
- this.current === index ? "#fff" : this.inactiveColor;
+ style.color = this.current === index ? "#fff" : this.inactiveColor;
} else {
// button模式下,激活时文字颜色默认为activeColor
- style.color =
- this.current === index ?
- this.activeColor :
- this.inactiveColor;
+ style.color = this.current === index ? this.activeColor : this.inactiveColor;
}
return style;
};
@@ -185,17 +177,16 @@
// #ifdef APP-NVUE
const ref = this.$refs["uv-subsection__item--0"][0];
- ref &&
- dom.getComponentRect(ref, (res) => {
- this.itemRect = res.size;
- });
+ ref && dom.getComponentRect(ref, (res) => {
+ this.itemRect = res.size;
+ });
// #endif
},
clickHandler(index) {
this.$emit("change", index);
- },
- },
- };
+ }
+ }
+ }
+ .uv-text {
+ @include flex(row);
+ align-items: center;
+ flex-wrap: nowrap;
+ flex: 1;
+ /* #ifndef APP-NVUE */
+ width: 100%;
+ /* #endif */
+ &__price {
+ font-size: 14px;
+ color: $uv-content-color;
+ }
+ &__value {
+ font-size: 14px;
+ @include flex;
+ color: $uv-content-color;
+ flex-wrap: wrap;
+ // flex: 1;
+ text-overflow: ellipsis;
+ align-items: center;
+ &--primary {
+ color: $uv-primary;
+ }
+ &--warning {
+ color: $uv-warning;
+ }
+ &--success {
+ color: $uv-success;
+ }
+ &--info {
+ color: $uv-info;
+ }
+ &--error {
+ color: $uv-error;
+ }
+ &--main {
+ color: $uv-main-color;
+ }
+ &--content {
+ color: $uv-content-color;
+ }
+ &--tips {
+ color: $uv-tips-color;
+ }
+ &--light {
+ color: $uv-light-color;
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/uni_modules/uv-text/package.json b/uni_modules/uv-text/package.json
index 1777bbb5142d970889a70d1881021cba1f905d69..80b8491e83c98ed0eafcf0f5cff89162d75304f8 100644
--- a/uni_modules/uv-text/package.json
+++ b/uni_modules/uv-text/package.json
@@ -1,7 +1,7 @@
{
"id": "uv-text",
- "displayName": "uv-text 文本 全面兼容小程序、nvue、vue2、vue3等多端",
- "version": "1.0.2",
+ "displayName": "uv-text 文本 全面兼容vue3+2、app、h5、小程序等多端",
+ "version": "1.0.4",
"description": "此组件集成了文本类在项目中的常用功能,包括状态,拨打电话,格式化日期,*替换,超链接...等功能。 您大可不必在使用特殊文本时自己定义,text组件涵盖您能使用的大部分场景。",
"keywords": [
"uv-text",
diff --git a/uni_modules/uv-text/readme.md b/uni_modules/uv-text/readme.md
index 6abb04b76f0009aac99f68c5f14072294ff56952..9956ffa5b6a4bc14539cd526f23c750e6c387cf8 100644
--- a/uni_modules/uv-text/readme.md
+++ b/uni_modules/uv-text/readme.md
@@ -4,8 +4,14 @@
此组件集成了文本类在项目中的常用功能,包括状态,拨打电话,格式化日期,*替换,超链接...等功能。 您大可不必在使用特殊文本时自己定义,text组件涵盖您能使用的大部分场景。
-### 查看文档
+# 查看文档
-### [完整示例项目下载 | 关注更多组件](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
-#### 如使用过程中有任何问题,或者您对uv-ui有一些好的建议,欢迎加入 uv-ui 交流群:uv-ui、官方QQ群
+
+
+
+
+
+
+#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群
\ No newline at end of file
diff --git a/uni_modules/uv-textarea/changelog.md b/uni_modules/uv-textarea/changelog.md
index c7b95ad0b331d97a253e1b41e76a2a9795888959..63a90948e620bae75ff212d5271f4708bba16db4 100644
--- a/uni_modules/uv-textarea/changelog.md
+++ b/uni_modules/uv-textarea/changelog.md
@@ -1,3 +1,7 @@
+## 1.0.11(2023-12-26)
+1. 优化confirmType默认值改成return
+## 1.0.10(2023-09-13)
+1. 修复设置autoHeight后出现高度异常的BUG
## 1.0.9(2023-08-08)
1. 优化
## 1.0.8(2023-08-07)
diff --git a/uni_modules/uv-textarea/components/uv-textarea/props.js b/uni_modules/uv-textarea/components/uv-textarea/props.js
index c472936e6e77cd00f8ec5875897c65db9c91ab7a..b0c788993585ea85d57e30b7559f809ab76833f2 100644
--- a/uni_modules/uv-textarea/components/uv-textarea/props.js
+++ b/uni_modules/uv-textarea/components/uv-textarea/props.js
@@ -31,7 +31,7 @@ export default {
// 设置键盘右下角按钮的文字,仅微信小程序,App-vue和H5有效
confirmType: {
type: String,
- default: 'done'
+ default: 'return'
},
// 是否禁用
disabled: {
diff --git a/uni_modules/uv-textarea/components/uv-textarea/uv-textarea.vue b/uni_modules/uv-textarea/components/uv-textarea/uv-textarea.vue
index 45c7e3ecb29f1c6b176f122cd39d7c7ad5faac00..cd047ac31d44063ec803ae24aeced1dcea7ff93c 100644
--- a/uni_modules/uv-textarea/components/uv-textarea/uv-textarea.vue
+++ b/uni_modules/uv-textarea/components/uv-textarea/uv-textarea.vue
@@ -5,7 +5,7 @@