uview-pro 0.6.12 → 0.6.13
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 +13 -2
- package/components/u-picker/u-picker.vue +16 -18
- package/components/u-select/u-select.vue +7 -6
- package/package.json +1 -1
package/changelog.md
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
|
-
## 0.6.
|
|
1
|
+
## 0.6.13(2026-07-28)
|
|
2
2
|
|
|
3
3
|
### 🐛 Bug Fixes | Bug 修复
|
|
4
4
|
|
|
5
|
-
- **
|
|
5
|
+
- **u-picker:** 修复抖音小程序等平台picker数据加载,导致弹窗失败问题(#174) ([ead3cdc](https://github.com/anyup/uView-Pro/commit/ead3cdc18fc5be05a3022acac4485fc3e3e75faa))
|
|
6
|
+
- **u-select:** 修复抖音小程序select弹出问题(#174) ([c7a4c28](https://github.com/anyup/uView-Pro/commit/c7a4c2856f9790747ec234b0a6cc1154b560d701))
|
|
6
7
|
|
|
7
8
|
### 👥 Contributors
|
|
8
9
|
|
|
9
10
|
<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>
|
|
10
11
|
|
|
12
|
+
## 0.6.12(2026-07-24)
|
|
13
|
+
|
|
14
|
+
### 🐛 Bug Fixes | Bug 修复
|
|
15
|
+
|
|
16
|
+
- **vite:** 修复vite插件root根组件在使用npm方式引入时导致无法被正确加载的问题 ([90561fa](https://github.com/anyup/uView-Pro/commit/90561fa406a8c9d8d49f8223cdda333cc662a42a))
|
|
17
|
+
|
|
18
|
+
### 👥 Contributors
|
|
19
|
+
|
|
20
|
+
<a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>
|
|
21
|
+
|
|
11
22
|
## 0.6.11(2026-07-24)
|
|
12
23
|
|
|
13
24
|
### ✨ Features | 新功能
|
|
@@ -305,12 +305,12 @@ watch(
|
|
|
305
305
|
if (props.modelValue) {
|
|
306
306
|
// reinit while open
|
|
307
307
|
readyToRender.value = false;
|
|
308
|
-
|
|
308
|
+
init();
|
|
309
|
+
readyToRender.value = true;
|
|
309
310
|
// #ifdef APP-PLUS
|
|
311
|
+
await nextTick();
|
|
310
312
|
await new Promise(resolve => setTimeout(resolve, 20));
|
|
311
313
|
// #endif
|
|
312
|
-
await init();
|
|
313
|
-
readyToRender.value = true;
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
316
|
},
|
|
@@ -324,12 +324,12 @@ watch(
|
|
|
324
324
|
savedDefaultTime.value = n || null;
|
|
325
325
|
if (props.modelValue) {
|
|
326
326
|
readyToRender.value = false;
|
|
327
|
-
|
|
327
|
+
init();
|
|
328
|
+
readyToRender.value = true;
|
|
328
329
|
// #ifdef APP-PLUS
|
|
330
|
+
await nextTick();
|
|
329
331
|
await new Promise(resolve => setTimeout(resolve, 20));
|
|
330
332
|
// #endif
|
|
331
|
-
await init();
|
|
332
|
-
readyToRender.value = true;
|
|
333
333
|
}
|
|
334
334
|
}
|
|
335
335
|
}
|
|
@@ -342,12 +342,12 @@ watch(
|
|
|
342
342
|
savedDefaultRegion.value = n && (n as any[]).length ? (n as any[]).slice() : null;
|
|
343
343
|
if (props.modelValue) {
|
|
344
344
|
readyToRender.value = false;
|
|
345
|
-
|
|
345
|
+
init();
|
|
346
|
+
readyToRender.value = true;
|
|
346
347
|
// #ifdef APP-PLUS
|
|
348
|
+
await nextTick();
|
|
347
349
|
await new Promise(resolve => setTimeout(resolve, 20));
|
|
348
350
|
// #endif
|
|
349
|
-
await init();
|
|
350
|
-
readyToRender.value = true;
|
|
351
351
|
}
|
|
352
352
|
}
|
|
353
353
|
},
|
|
@@ -369,15 +369,15 @@ watch(
|
|
|
369
369
|
() => props.modelValue,
|
|
370
370
|
async n => {
|
|
371
371
|
if (n) {
|
|
372
|
-
//
|
|
373
|
-
|
|
374
|
-
|
|
372
|
+
// 同步调用 init(),确保 picker-view 列数据在渲染前就填充完毕
|
|
373
|
+
// 这对抖音等小程序平台至关重要:原生 picker-view 需要在创建时就有完整数据
|
|
374
|
+
init();
|
|
375
|
+
readyToRender.value = true;
|
|
376
|
+
// APP-PLUS 原生控件可能需要更长的原生初始化时间
|
|
375
377
|
// #ifdef APP-PLUS
|
|
378
|
+
await nextTick();
|
|
376
379
|
await new Promise(resolve => setTimeout(resolve, 20));
|
|
377
380
|
// #endif
|
|
378
|
-
// 初始化数据并在完成后再渲染 picker-view
|
|
379
|
-
await init();
|
|
380
|
-
readyToRender.value = true;
|
|
381
381
|
} else {
|
|
382
382
|
// 关闭时隐藏 picker,保留已保存的值
|
|
383
383
|
readyToRender.value = false;
|
|
@@ -461,7 +461,7 @@ function initTimeValue() {
|
|
|
461
461
|
/**
|
|
462
462
|
* 初始化picker各列数据
|
|
463
463
|
*/
|
|
464
|
-
|
|
464
|
+
function init() {
|
|
465
465
|
valueArr.value = [];
|
|
466
466
|
if (props.mode == 'time') {
|
|
467
467
|
initTimeValue();
|
|
@@ -509,8 +509,6 @@ async function init() {
|
|
|
509
509
|
valueArr.value = getEffectiveDefaultSelector();
|
|
510
510
|
multiSelectorValue.value = getEffectiveDefaultSelector();
|
|
511
511
|
}
|
|
512
|
-
// 等待 DOM 与 Vue 响应式更新完成,确保在原生组件挂载时数据已就绪
|
|
513
|
-
await nextTick();
|
|
514
512
|
}
|
|
515
513
|
/**
|
|
516
514
|
* 设置年份列
|
|
@@ -119,6 +119,7 @@ const defaultSelector = ref<number[]>([0]);
|
|
|
119
119
|
// picker-view的数据
|
|
120
120
|
const columnData = ref<SelectListItem[][]>([]);
|
|
121
121
|
// 控制 picker 是否渲染(等待初始化完成)
|
|
122
|
+
// 初始为 false,确保 picker-view 原生组件在数据就绪后才创建(抖音小程序等平台需要在创建时就有完整数据)
|
|
122
123
|
const readyToRender = ref(false);
|
|
123
124
|
// 保存用户上次确认的索引,如果用户未确认过,则为 null,首次打开会使用 props.defaultValue
|
|
124
125
|
const savedSelector = ref<number[] | null>(
|
|
@@ -148,17 +149,17 @@ watch(
|
|
|
148
149
|
() => props.modelValue,
|
|
149
150
|
async val => {
|
|
150
151
|
if (val) {
|
|
151
|
-
//
|
|
152
|
-
|
|
152
|
+
// 同步调用 init(),确保 columnData 在 picker-view 渲染前就填充完毕
|
|
153
|
+
// 这对抖音等小程序平台至关重要:原生 picker-view 需要在创建时就有完整数据
|
|
154
|
+
init();
|
|
155
|
+
readyToRender.value = true;
|
|
153
156
|
// 在 App(APP-PLUS)平台上,原生 picker 可能需要更长时间初始化
|
|
154
|
-
// 我们先执行 init,并在 init 完成后将 readyToRender 置为 true,保证 picker 在数据就绪后渲染
|
|
155
157
|
// #ifdef APP-PLUS
|
|
158
|
+
await nextTick();
|
|
156
159
|
await new Promise(resolve => setTimeout(resolve, 20));
|
|
157
160
|
// #endif
|
|
158
|
-
init();
|
|
159
|
-
readyToRender.value = true;
|
|
160
161
|
} else {
|
|
161
|
-
//
|
|
162
|
+
// 关闭弹窗时复位,下次打开时 picker-view 会重新创建,确保数据刷新
|
|
162
163
|
readyToRender.value = false;
|
|
163
164
|
}
|
|
164
165
|
},
|
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.6.
|
|
5
|
+
"version": "0.6.13",
|
|
6
6
|
"description": "uView Pro是基于Vue3+TS的多平台UI框架,提供80+高质量组件、便捷工具和常用模板,支持多主题、暗黑模式、多语言,支持H5/APP/鸿蒙/小程序多端开发。已在鸿蒙应用商店上架,欢迎体验!",
|
|
7
7
|
"main": "index.ts",
|
|
8
8
|
"module": "index.ts",
|