uview-plus 3.4.47 → 3.4.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/changelog.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## 3.4.49(2025-07-11)
2
+ feat: picker支持bgColor、round、duration和overlayOpacity属性
3
+
4
+ ## 3.4.48(2025-07-10)
5
+ fix: 官方文档Card示例组件多行显示省略号样式异常
6
+
7
+ feat: album组件支持自定义preview事件
8
+
1
9
  ## 3.4.47(2025-07-09)
2
10
  fix: 修复datetime-picker打开时,数值可能出现对不上的问题
3
11
 
@@ -13,7 +13,7 @@
13
13
  v-for="(item, index1) in arr"
14
14
  :key="index1"
15
15
  :style="[imageStyle(index + 1, index1 + 1)]"
16
- @tap="previewFullImage ? onPreviewTap($event, getSrc(item)) : ''"
16
+ @tap="onPreviewTap($event, getSrc(item))"
17
17
  >
18
18
  <image
19
19
  :src="getSrc(item)"
@@ -185,6 +185,7 @@ export default {
185
185
  return width
186
186
  }
187
187
  },
188
+ emits: ['preview', 'albumWidth'],
188
189
  methods: {
189
190
  addUnit,
190
191
  // 预览图片
@@ -192,12 +193,19 @@ export default {
192
193
  const urls = this.urls.map((item) => {
193
194
  return this.getSrc(item)
194
195
  })
195
- uni.previewImage({
196
- current: url,
197
- urls
198
- })
199
- // 是否阻止事件传播
200
- this.stop && this.preventEvent(e)
196
+ if (this.previewFullImage) {
197
+ uni.previewImage({
198
+ current: url,
199
+ urls
200
+ })
201
+ // 是否阻止事件传播
202
+ this.stop && this.preventEvent(e)
203
+ } else {
204
+ this.$emit('preview', {
205
+ urls,
206
+ currentIndex: urls.indexOf(url)
207
+ })
208
+ }
201
209
  },
202
210
  // 获取图片的路径
203
211
  getSrc(item) {
@@ -95,7 +95,7 @@
95
95
  // console.log('内置字体图标加载成功');
96
96
  },
97
97
  fail() {
98
- console.error('内置字体图标加载出错');
98
+ // console.error('内置字体图标加载出错');
99
99
  }
100
100
  });
101
101
  if (config.customIcon.family) {
@@ -106,7 +106,7 @@
106
106
  // console.log('扩展字体图标加载成功');
107
107
  },
108
108
  fail() {
109
- console.error('扩展字体图标加载出错');
109
+ // console.error('扩展字体图标加载出错');
110
110
  }
111
111
  });
112
112
  }
@@ -0,0 +1,73 @@
1
+ import config from '../../libs/config/config';
2
+ // 定义高阶函数
3
+ function once(fn) {
4
+ let called = false;
5
+ let result;
6
+
7
+ return function(...args) {
8
+ if (!called) {
9
+ result = fn.apply(this, args);
10
+ // called = true;
11
+ }
12
+ return result;
13
+ };
14
+ }
15
+
16
+ // 使用高阶函数
17
+ const loadFont = once(() => {
18
+ console.log('这个函数只能执行一次');
19
+ // #ifdef APP-NVUE
20
+ // nvue通过weex的dom模块引入字体,相关文档地址如下:
21
+ // https://weex.apache.org/zh/docs/modules/dom.html#addrule
22
+ const domModule = weex.requireModule('dom');
23
+ domModule.addRule('fontFace', {
24
+ 'fontFamily': "uicon-iconfont",
25
+ 'src': `url('${config.iconUrl}')`
26
+ });
27
+ if (config.customIcon.family) {
28
+ domModule.addRule('fontFace', {
29
+ 'fontFamily': config.customIcon.family,
30
+ 'src': `url('${config.customIcon.url}')`
31
+ });
32
+ }
33
+ // #endif
34
+ // #ifdef APP || H5 || MP-WEIXIN || MP-ALIPAY
35
+ uni.loadFontFace({
36
+ family: 'uicon-iconfont',
37
+ source: 'url("' + config.iconUrl + '")',
38
+ success() {
39
+ // console.log('内置字体图标加载成功');
40
+ },
41
+ fail() {
42
+ // console.error('内置字体图标加载出错');
43
+ }
44
+ });
45
+ if (config.customIcon.family) {
46
+ uni.loadFontFace({
47
+ family: config.customIcon.family,
48
+ source: 'url("' + config.customIcon.url + '")',
49
+ success() {
50
+ // console.log('扩展字体图标加载成功');
51
+ },
52
+ fail() {
53
+ // console.error('扩展字体图标加载出错');
54
+ }
55
+ });
56
+ }
57
+ // #endif
58
+ // #ifdef APP-NVUE
59
+ if (this.customFontFamily) {
60
+ domModule.addRule('fontFace', {
61
+ 'fontFamily': `${this.customPrefix}-${this.customFontFamily}`,
62
+ 'src': `url('${this.customFontUrl}')`
63
+ })
64
+ }
65
+ // #endif
66
+ return true;
67
+ });
68
+
69
+ let util = {
70
+ loadFont
71
+ }
72
+
73
+ export default util
@@ -32,5 +32,9 @@ export default {
32
32
  disabledColor: '',
33
33
  placeholder: '请选择',
34
34
  inputProps: {},
35
+ bgColor: '',
36
+ round: 0,
37
+ duration: 300,
38
+ overlayOpacity: 0.5
35
39
  }
36
40
  }
@@ -123,5 +123,25 @@ export const props = defineMixin({
123
123
  type: [String, Number],
124
124
  default: () => defProps.picker.zIndex
125
125
  },
126
+ // 弹窗背景色,设置为transparent可去除白色背景
127
+ bgColor: {
128
+ type: String,
129
+ default: () => defProps.picker.bgColor
130
+ },
131
+ // 是否显示圆角
132
+ round: {
133
+ type: [Boolean, String, Number],
134
+ default: () => defProps.picker.round
135
+ },
136
+ // 动画时长,单位ms
137
+ duration: {
138
+ type: [String, Number],
139
+ default: () => defProps.picker.duration
140
+ },
141
+ // 遮罩的透明度,0-1之间
142
+ overlayOpacity: {
143
+ type: [Number, String],
144
+ default: () => defProps.picker.overlayOpacity
145
+ }
126
146
  }
127
147
  })
@@ -17,6 +17,10 @@
17
17
  :show="show || (hasInput && showByClickInput)"
18
18
  :mode="popupMode"
19
19
  :zIndex="zIndex"
20
+ :bgColor="bgColor"
21
+ :round="round"
22
+ :duration="duration"
23
+ :overlayOpacity="overlayOpacity"
20
24
  @close="closeHandler"
21
25
  >
22
26
  <view class="u-picker">
@@ -96,6 +100,10 @@
96
100
  * @property {Boolean} closeOnClickOverlay 是否允许点击遮罩关闭选择器(默认 false )
97
101
  * @property {Array} defaultIndex 各列的默认索引
98
102
  * @property {Boolean} immediateChange 是否在手指松开时立即触发change事件(默认 true )
103
+ * @property {String | Number} round 圆角值(默认 0)
104
+ * @property {String } bgColor 背景色值(默认 '' )
105
+ * @property {String | Number} duration 动画时长,单位ms (默认 300 )
106
+ * @property {String | Number} overlayDuration 遮罩层动画时长,单位ms (默认 350 )
99
107
  * @event {Function} close 关闭选择器时触发
100
108
  * @event {Function} cancel 点击取消按钮触发
101
109
  * @event {Function} change 当选择值变化时触发
@@ -79,6 +79,7 @@
79
79
  * @property {Boolean} safeAreaInsetTop 是否留出顶部安全距离(状态栏高度) (默认 false )
80
80
  * @property {String} closeIconPos 自定义关闭图标位置(默认 'top-right' )
81
81
  * @property {String | Number} round 圆角值(默认 0)
82
+ * @property {String } bgColor 背景色值(默认 '' )
82
83
  * @property {Boolean} zoom 当mode=center时 是否开启缩放(默认 true )
83
84
  * @property {Object} customStyle 组件的样式,对象形式
84
85
  * @event {Function} open 弹出层打开
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "id": "uview-plus",
3
3
  "name": "uview-plus",
4
4
  "displayName": "零云®uview-plus3.0重磅发布,全面的Vue3鸿蒙移动组件库。",
5
- "version": "3.4.47",
5
+ "version": "3.4.49",
6
6
  "description": "零云®uview-plus已兼容vue3,全面的组件和便捷的工具会让您信手拈来,如鱼得水。",
7
7
  "keywords": [
8
8
  "uview",