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 @@ -![image](https://mp-a667b617-c5f1-4a2d-9a54-683a67cff588.cdn.bspapp.com/uv-ui/banner.png) +

+     logo +

+

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 -> ## 插件列表:传送门 +[![star](https://gitee.com/climblee/uv-ui/badge/star.svg?theme=gvp)](https://gitee.com/climblee/uv-ui) +[![star](https://gitee.com/climblee/uv-ui/badge/fork.svg?theme=gvp)](https://gitee.com/climblee/uv-ui) +[![star](https://img.shields.io/github/stars/climblee/uv-ui?style=flat-square&logo=GitHub)](https://github.com/climblee/uv-ui) +[![issues](https://img.shields.io/github/issues/climblee/uv-ui?style=flat-square&logo=GitHub)](https://github.com/climblee/uv-ui/issues) +[![Website](https://img.shields.io/badge/uvui-up-blue?style=flat-square)](https://www.uvui.cn) +[![version](https://img.shields.io/badge/version-1.1.16-brightgreen.svg)](https://www.uvui.cn/components/changelog.html) +[![license](https://img.shields.io/github/license/climblee/uv-ui?style=flat-square)](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 @@ @@ -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) + + + +![image](https://mp-a667b617-c5f1-4a2d-9a54-683a67cff588.cdn.bspapp.com/uv-ui/banner.png) + + + +#### 如使用过程中有任何问题反馈,或者您对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 @@ @@ -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) + + + +![image](https://mp-a667b617-c5f1-4a2d-9a54-683a67cff588.cdn.bspapp.com/uv-ui/banner.png) + + + +#### 如使用过程中有任何问题反馈,或者您对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 @@ - + {{ (nowDate.year||'') +' / '+( nowDate.month||'')}} @@ -41,7 +41,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 @@ - - \ 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 @@ @@ -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) + + + +![image](https://mp-a667b617-c5f1-4a2d-9a54-683a67cff588.cdn.bspapp.com/uv-ui/banner.png) + + + +#### 如使用过程中有任何问题反馈,或者您对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 @@ @@ -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) + + + +![image](https://mp-a667b617-c5f1-4a2d-9a54-683a67cff588.cdn.bspapp.com/uv-ui/banner.png) + + + +#### 如使用过程中有任何问题反馈,或者您对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 @@ - - - + \ 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) + + + +![image](https://mp-a667b617-c5f1-4a2d-9a54-683a67cff588.cdn.bspapp.com/uv-ui/banner.png) + + + +#### 如使用过程中有任何问题反馈,或者您对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) + + + +![image](https://mp-a667b617-c5f1-4a2d-9a54-683a67cff588.cdn.bspapp.com/uv-ui/banner.png) + + + +#### 如使用过程中有任何问题反馈,或者您对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 @@ @@ -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群 + + +![image](https://mp-a667b617-c5f1-4a2d-9a54-683a67cff588.cdn.bspapp.com/uv-ui/banner.png) + + + +#### 如使用过程中有任何问题反馈,或者您对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 @@