uview-pro 0.5.2 → 0.5.3
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,22 @@
|
|
|
1
|
+
## 0.5.3(2026-01-26)
|
|
2
|
+
|
|
3
|
+
### ♻️ Code Refactoring | 代码重构
|
|
4
|
+
|
|
5
|
+
- **demo-page:** 移除标签栏外层sticky组件 ([ed49275](https://github.com/anyup/uView-Pro/commit/ed49275bc2962426dc4f9185b4b35f6a994cf383))
|
|
6
|
+
|
|
7
|
+
### 👷 Continuous Integration | CI 配置
|
|
8
|
+
|
|
9
|
+
- 添加 npm 包测试脚本 ([78c5524](https://github.com/anyup/uView-Pro/commit/78c5524abbbc368949ec58437361c995f5146234))
|
|
10
|
+
|
|
11
|
+
### 🐛 Bug Fixes | Bug 修复
|
|
12
|
+
|
|
13
|
+
- **locale:** 修复本地运行时locale国际化字段未加载成功的问题 ([10c017a](https://github.com/anyup/uView-Pro/commit/10c017a401232224ca1642274d65f031f74f12f0))
|
|
14
|
+
- **u-picker:** 修复u-picker/u-select选择器在亮色/暗黑模式下背景色显示问题 ([072a6cc](https://github.com/anyup/uView-Pro/commit/072a6cc1095b5f17b0c15c3cd2a3d6a75d8a9f08))
|
|
15
|
+
|
|
16
|
+
### 👥 Contributors
|
|
17
|
+
|
|
18
|
+
<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>
|
|
19
|
+
|
|
1
20
|
## 0.5.2(2026-01-23)
|
|
2
21
|
|
|
3
22
|
### ✨ Features | 新功能
|
|
@@ -38,10 +38,12 @@
|
|
|
38
38
|
<picker-view
|
|
39
39
|
v-if="mode == 'region'"
|
|
40
40
|
:value="valueArr"
|
|
41
|
-
@change="change"
|
|
42
41
|
class="u-picker-view"
|
|
42
|
+
mask-class="u-picker-view-mask"
|
|
43
|
+
indicator-class="u-picker-view-indicator"
|
|
43
44
|
@pickstart="pickstart"
|
|
44
45
|
@pickend="pickend"
|
|
46
|
+
@change="change"
|
|
45
47
|
>
|
|
46
48
|
<picker-view-column v-if="params.province">
|
|
47
49
|
<view class="u-column-item" v-for="(item, index) in provinces" :key="index">
|
|
@@ -62,10 +64,12 @@
|
|
|
62
64
|
<picker-view
|
|
63
65
|
v-else-if="mode == 'time'"
|
|
64
66
|
:value="valueArr"
|
|
65
|
-
@change="change"
|
|
66
67
|
class="u-picker-view"
|
|
68
|
+
mask-class="u-picker-view-mask"
|
|
69
|
+
indicator-class="u-picker-view-indicator"
|
|
67
70
|
@pickstart="pickstart"
|
|
68
71
|
@pickend="pickend"
|
|
72
|
+
@change="change"
|
|
69
73
|
>
|
|
70
74
|
<picker-view-column v-if="params.year">
|
|
71
75
|
<view class="u-column-item" v-for="(item, index) in years" :key="index">
|
|
@@ -107,10 +111,12 @@
|
|
|
107
111
|
<picker-view
|
|
108
112
|
v-else-if="mode == 'selector'"
|
|
109
113
|
:value="valueArr"
|
|
110
|
-
@change="change"
|
|
111
114
|
class="u-picker-view"
|
|
115
|
+
mask-class="u-picker-view-mask"
|
|
116
|
+
indicator-class="u-picker-view-indicator"
|
|
112
117
|
@pickstart="pickstart"
|
|
113
118
|
@pickend="pickend"
|
|
119
|
+
@change="change"
|
|
114
120
|
>
|
|
115
121
|
<picker-view-column>
|
|
116
122
|
<view class="u-column-item" v-for="(item, index) in range" :key="index">
|
|
@@ -121,10 +127,12 @@
|
|
|
121
127
|
<picker-view
|
|
122
128
|
v-else-if="mode == 'multiSelector'"
|
|
123
129
|
:value="valueArr"
|
|
124
|
-
@change="change"
|
|
125
130
|
class="u-picker-view"
|
|
131
|
+
mask-class="u-picker-view-mask"
|
|
132
|
+
indicator-class="u-picker-view-indicator"
|
|
126
133
|
@pickstart="pickstart"
|
|
127
134
|
@pickend="pickend"
|
|
135
|
+
@change="change"
|
|
128
136
|
>
|
|
129
137
|
<picker-view-column v-for="(item, index) in range" :key="index">
|
|
130
138
|
<view class="u-column-item" v-for="(item1, index1) in item" :key="index1">
|
|
@@ -782,7 +790,7 @@ onMounted(() => {
|
|
|
782
790
|
.u-picker-header::after {
|
|
783
791
|
content: '';
|
|
784
792
|
position: absolute;
|
|
785
|
-
border-bottom: 1rpx solid var(--u-
|
|
793
|
+
border-bottom: 1rpx solid var(--u-border-color);
|
|
786
794
|
-webkit-transform: scaleY(0.5);
|
|
787
795
|
transform: scaleY(0.5);
|
|
788
796
|
bottom: 0;
|
|
@@ -44,12 +44,14 @@
|
|
|
44
44
|
</view>
|
|
45
45
|
<view class="u-select__body">
|
|
46
46
|
<picker-view
|
|
47
|
-
|
|
48
|
-
class="u-select__body__picker-view"
|
|
47
|
+
v-if="modelValue && readyToRender"
|
|
49
48
|
:value="defaultSelector"
|
|
49
|
+
class="u-select__body__picker-view"
|
|
50
|
+
mask-class="u-picker-view-mask"
|
|
51
|
+
indicator-class="u-picker-view-indicator"
|
|
50
52
|
@pickstart="pickstart"
|
|
51
53
|
@pickend="pickend"
|
|
52
|
-
|
|
54
|
+
@change="columnChange"
|
|
53
55
|
>
|
|
54
56
|
<picker-view-column v-for="(item, index) in columnData" :key="index">
|
|
55
57
|
<view
|
|
@@ -391,6 +393,7 @@ function is2DList(list: SelectListItem[] | SelectListItem[][]): list is SelectLi
|
|
|
391
393
|
align-items: center;
|
|
392
394
|
justify-content: space-between;
|
|
393
395
|
height: 80rpx;
|
|
396
|
+
position: relative;
|
|
394
397
|
|
|
395
398
|
&__title {
|
|
396
399
|
color: $u-content-color;
|
|
@@ -402,6 +405,17 @@ function is2DList(list: SelectListItem[] | SelectListItem[][]): list is SelectLi
|
|
|
402
405
|
}
|
|
403
406
|
}
|
|
404
407
|
|
|
408
|
+
&__header::after {
|
|
409
|
+
content: '';
|
|
410
|
+
position: absolute;
|
|
411
|
+
border-bottom: 1rpx solid var(--u-border-color);
|
|
412
|
+
-webkit-transform: scaleY(0.5);
|
|
413
|
+
transform: scaleY(0.5);
|
|
414
|
+
bottom: 0;
|
|
415
|
+
right: 0;
|
|
416
|
+
left: 0;
|
|
417
|
+
}
|
|
418
|
+
|
|
405
419
|
&__body {
|
|
406
420
|
width: 100%;
|
|
407
421
|
height: 500rpx;
|
|
@@ -31,3 +31,26 @@ page.u-theme-dark,
|
|
|
31
31
|
background-color: var(--u-bg-white, #0f1115);
|
|
32
32
|
color: $u-main-color;
|
|
33
33
|
}
|
|
34
|
+
|
|
35
|
+
// picker-view遮罩层背景色
|
|
36
|
+
.u-picker-view-mask,
|
|
37
|
+
.uni-picker-view-mask {
|
|
38
|
+
background-image:
|
|
39
|
+
linear-gradient(180deg, rgba(var(--u-bg-white-rgb), 0.95), rgba(var(--u-bg-white-rgb), 0.6)),
|
|
40
|
+
linear-gradient(0deg, rgba(var(--u-bg-white-rgb), 0.95), rgba(var(--u-bg-white-rgb), 0.6)) !important;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.u-picker-view-indicator {
|
|
44
|
+
border: rgba(var(--u-bg-white-rgb), 0.6) !important;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// picker-view指示器边框色
|
|
48
|
+
.u-picker-view-indicator::before,
|
|
49
|
+
.uni-picker-view-indicator::before {
|
|
50
|
+
border-top: 1px solid var(--u-border-color) !important;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.u-picker-view-indicator::after,
|
|
54
|
+
.uni-picker-view-indicator::after {
|
|
55
|
+
border-bottom: 1px solid var(--u-border-color) !important;
|
|
56
|
+
}
|
|
@@ -67,7 +67,7 @@ export class ConfigProvider {
|
|
|
67
67
|
private debug: boolean = false;
|
|
68
68
|
private systemDarkModeMediaQuery: MediaQueryList | null = null;
|
|
69
69
|
private lastAppliedCssKeys: string[] = [];
|
|
70
|
-
private interval = 0;
|
|
70
|
+
private interval: ReturnType<typeof setInterval> | number = 0;
|
|
71
71
|
|
|
72
72
|
constructor() {
|
|
73
73
|
// 默认不自动初始化,调用 init 以传入主题列表
|
|
@@ -334,6 +334,15 @@ export class ConfigProvider {
|
|
|
334
334
|
* replacements 支持数组或对象替换占位符 {0} 或 {name}
|
|
335
335
|
*/
|
|
336
336
|
t(key: string, replacements?: any, localeName?: string): string {
|
|
337
|
+
// 如果 locales 尚未初始化,尝试懒初始化,使用内置语言包作为回退
|
|
338
|
+
try {
|
|
339
|
+
if (!Array.isArray(this.localesRef.value) || this.localesRef.value.length === 0) {
|
|
340
|
+
this.initLocales();
|
|
341
|
+
}
|
|
342
|
+
} catch (e) {
|
|
343
|
+
if (this.debug) console.warn('[ConfigProvider] lazy initLocales failed', e);
|
|
344
|
+
}
|
|
345
|
+
|
|
337
346
|
const localeObj =
|
|
338
347
|
(localeName && this.localesRef.value.find(l => l.name === localeName)) || this.currentLocaleRef.value;
|
|
339
348
|
if (!localeObj) return key;
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "uview-pro",
|
|
3
3
|
"name": "uview-pro",
|
|
4
4
|
"displayName": "【支持鸿蒙】uView Pro|基于Vue3+TS的高质量UI组件库,支持多主题、暗黑模式、多语言",
|
|
5
|
-
"version": "0.5.
|
|
5
|
+
"version": "0.5.3",
|
|
6
6
|
"description": "uView Pro是基于Vue3+TS的多平台UI框架,提供80+高质量组件、便捷工具和常用模板,支持多主题、暗黑模式、多语言,支持H5/APP/鸿蒙/小程序多端开发。已在鸿蒙应用商店上架,欢迎体验!",
|
|
7
7
|
"main": "index.ts",
|
|
8
8
|
"module": "index.ts",
|