uview-pro 0.5.12 → 0.5.14

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,19 +1,52 @@
1
- ## 0.5.12(2026-03-09
1
+ ## 0.5.14(2026-03-23
2
2
 
3
3
  ### 🐛 Bug Fixes | Bug 修复
4
4
 
5
- - **u-tabs:** 延迟初始化tabs组件以确保正确获取尺寸信息,修复在App端滑块偏移问题(#139) ([90f79ff](https://github.com/anyup/uView-Pro/commit/90f79ff8f1e71a2ebc05be7d0318b8107425e09a))
6
- - **u-upload:** 优化u-upload组件在暗黑模式下的显示效果 ([24955ad](https://github.com/anyup/uView-Pro/commit/24955ad947d6edc736c695f9052344a83fa191ae))
7
- - **u-calendar:** 优化日历组件设置为range范围选择时,仅当开始、结束时间选择完成时才可点击确定(#136) ([4dee864](https://github.com/anyup/uView-Pro/commit/4dee864abda5e65a755aaaccbaffc430ca463cdd))
5
+ - **u-toast:** 调整提示框位置和边框样式 ([093e31a](https://github.com/anyup/uView-Pro/commit/093e31a34a26902ced26ac841ddfa738fa796528))
6
+ - **u-form:** 修复表单项错误消息样式显示问题 ([462eb6e](https://github.com/anyup/uView-Pro/commit/462eb6e9e3b4d676ac97877327d93705f53400a5))
7
+
8
+ ### 📝 Documentation | 文档
9
+
10
+ - **readme:** 添加快速启动模板链接 ([afce866](https://github.com/anyup/uView-Pro/commit/afce866f0e7e20b97132bebcbaf56f9aafc25c5c))
8
11
 
9
12
  ### ✨ Features | 新功能
10
13
 
11
- - **demo:** 添加H5平台条件编译控制,优化组件描述文案 ([d482223](https://github.com/anyup/uView-Pro/commit/d4822234e1f0e13a6480732350f884d5034368b5))
14
+ - **u-form-item:** 增加前后图标前缀自定义配置和插槽支持 ([9f32cf7](https://github.com/anyup/uView-Pro/commit/9f32cf7f32e0697ab6771711bc96bc2d8395c597))
12
15
 
13
16
  ### 👥 Contributors
14
17
 
15
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>
16
19
 
20
+ ## 0.5.13(2026-03-17)
21
+
22
+ ### ✨ Features | 新功能
23
+
24
+ - **u-tabs:** tabs标签组件添加徽标圆点配置功能 ([4c9fe9b](https://github.com/anyup/uView-Pro/commit/4c9fe9b36ee9f04721f53e177bea08407c5e6d11))
25
+ - **u-input:** 优化输入框清除图标显示控制逻辑(#141) ([e08bc10](https://github.com/anyup/uView-Pro/commit/e08bc10ffe81945b09f1afc50e273588b346c9d8))
26
+ - **u-textarea:** 优化textarea清空按钮显示逻辑(#141) ([feab6cf](https://github.com/anyup/uView-Pro/commit/feab6cf55c17e655b7a89b9f748ef814b5ff8472))
27
+ - **demo:** 优化微信小程序声明显示条件 ([72a5cd2](https://github.com/anyup/uView-Pro/commit/72a5cd2503bf90e99a9b7379703e7dce284896cc))
28
+ - **toast:** 调整toast组件配置并添加回调功能 ([e9f697f](https://github.com/anyup/uView-Pro/commit/e9f697f58c6cc207bc4df3c16203565762cb860e))
29
+
30
+ ### 👥 Contributors
31
+
32
+ <a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>
33
+
34
+ ## 0.5.12(2026-03-09)
35
+
36
+ ### 🐛 Bug Fixes | Bug 修复
37
+
38
+ - **u-tabs:** 延迟初始化tabs组件以确保正确获取尺寸信息,修复在App端滑块偏移问题(#139) ([90f79ff](https://github.com/anyup/uView-Pro/commit/90f79ff8f1e71a2ebc05be7d0318b8107425e09a))
39
+ - **u-upload:** 优化u-upload组件在暗黑模式下的显示效果 ([24955ad](https://github.com/anyup/uView-Pro/commit/24955ad947d6edc736c695f9052344a83fa191ae))
40
+ - **u-calendar:** 优化日历组件设置为range范围选择时,仅当开始、结束时间选择完成时才可点击确定(#136) ([4dee864](https://github.com/anyup/uView-Pro/commit/4dee864abda5e65a755aaaccbaffc430ca463cdd))
41
+
42
+ ### ✨ Features | 新功能
43
+
44
+ - **demo:** 添加H5平台条件编译控制,优化组件描述文案 ([d482223](https://github.com/anyup/uView-Pro/commit/d4822234e1f0e13a6480732350f884d5034368b5))
45
+
46
+ ### 👥 Contributors
47
+
48
+ <a href="https://github.com/anyup"><img src="https://github.com/anyup.png?size=40" width="40" height="40" alt="anyup" title="anyup"/></a>
49
+
17
50
  ## 0.5.11(2026-03-02)
18
51
 
19
52
  ### 🐛 Bug Fixes | Bug 修复
@@ -52,6 +52,16 @@ export const FormItemProps = {
52
52
  type: String,
53
53
  default: ''
54
54
  },
55
+ /** 左侧图标的自定义前缀 */
56
+ leftIconPrefix: {
57
+ type: String,
58
+ default: 'uicon'
59
+ },
60
+ /** 右侧图标的自定义前缀 */
61
+ rightIconPrefix: {
62
+ type: String,
63
+ default: 'uicon'
64
+ },
55
65
  /** 左侧图标的样式 */
56
66
  leftIconStyle: {
57
67
  type: Object as PropType<Record<string, any>>,
@@ -27,11 +27,20 @@
27
27
  }"
28
28
  >
29
29
  <!-- 为了块对齐 -->
30
- <view class="u-form-item--left__content" v-if="required || leftIcon || label || $slots.label">
30
+ <view
31
+ v-if="required || leftIcon || label || $slots.label || $slots.leftIcon"
32
+ class="u-form-item--left__content"
33
+ >
31
34
  <!-- nvue不支持伪元素before -->
32
35
  <text v-if="required" class="u-form-item--left__content--required">*</text>
33
- <view class="u-form-item--left__content__icon" v-if="leftIcon">
34
- <u-icon :name="leftIcon" :custom-style="leftIconStyle"></u-icon>
36
+ <view class="u-form-item--left__content__icon" v-if="leftIcon || $slots.leftIcon">
37
+ <slot name="leftIcon">
38
+ <u-icon
39
+ :custom-prefix="leftIconPrefix"
40
+ :name="leftIcon"
41
+ :custom-style="leftIconStyle"
42
+ ></u-icon>
43
+ </slot>
35
44
  </view>
36
45
  <view
37
46
  class="u-form-item--left__content__label"
@@ -58,8 +67,18 @@
58
67
  <view class="u-form-item--right__content__slot">
59
68
  <slot />
60
69
  </view>
61
- <view class="u-form-item--right__content__icon u-flex" v-if="$slots.right || rightIcon">
62
- <u-icon :custom-style="rightIconStyle" v-if="rightIcon" :name="rightIcon"></u-icon>
70
+ <view
71
+ class="u-form-item--right__content__icon u-flex"
72
+ v-if="$slots.right || $slots.rightIcon || rightIcon"
73
+ >
74
+ <slot name="rightIcon">
75
+ <u-icon
76
+ v-if="rightIcon"
77
+ :name="rightIcon"
78
+ :custom-prefix="rightIconPrefix"
79
+ :custom-style="rightIconStyle"
80
+ ></u-icon>
81
+ </slot>
63
82
  <slot name="right" />
64
83
  </view>
65
84
  </view>
@@ -69,7 +88,7 @@
69
88
  class="u-form-item__message"
70
89
  v-if="validateState === 'error' && showError('message')"
71
90
  :style="{
72
- paddingLeft: elLabelPosition == 'left' ? $u.addUnit(elLabelWidth) : '0'
91
+ paddingLeft: elLabelPosition == 'left' && label ? $u.addUnit(elLabelWidth) : '0'
73
92
  }"
74
93
  >{{ validateMessage }}</view
75
94
  >
@@ -65,7 +65,7 @@
65
65
  <view class="u-input__right-icon u-flex">
66
66
  <view
67
67
  class="u-input__right-icon__clear u-input__right-icon__item"
68
- v-if="clearable && inputValue !== '' && !disabled"
68
+ v-if="clearIconShow"
69
69
  @click.stop="onClear"
70
70
  >
71
71
  <u-icon size="32" name="close-circle-fill" color="var(--u-light-color)" />
@@ -138,6 +138,12 @@ const inputValue = computed<string>(() => {
138
138
  return String(props.modelValue);
139
139
  });
140
140
 
141
+ // 清除图标是否显示
142
+ const clearIconShow = computed(() => {
143
+ if (props.type === 'select') return props.clearable && inputValue.value !== '' && !props.disabled;
144
+ return props.clearable && focused.value && inputValue.value !== '' && !props.disabled;
145
+ });
146
+
141
147
  // 监听 value 变化
142
148
  watch(
143
149
  () => inputValue.value,
@@ -39,6 +39,8 @@ export const TabsProps = {
39
39
  count: { type: String, default: 'count' },
40
40
  /** 徽标数位置偏移 */
41
41
  offset: { type: Array as unknown as PropType<[number, number]>, default: () => [5, 20] },
42
+ /** 徽标是否是圆点 */
43
+ isDot: { type: Boolean, default: false },
42
44
  /** 活动tab字体是否加粗 */
43
45
  bold: { type: Boolean, default: true },
44
46
  /** 当前活动tab item的样式 */
@@ -19,7 +19,12 @@
19
19
  @tap="clickTab(index)"
20
20
  :style="tabItemStyle(index)"
21
21
  >
22
- <u-badge :count="item[count] || item['count'] || 0" :offset="offset" size="mini"></u-badge>
22
+ <u-badge
23
+ :count="item[count] || item['count'] || 0"
24
+ :offset="offset"
25
+ :is-dot="isDot"
26
+ size="mini"
27
+ ></u-badge>
23
28
  {{ item[name] || item['name'] }}
24
29
  </view>
25
30
  <view v-if="showBar" class="u-tab-bar" :style="tabBarStyle"></view>
@@ -53,7 +53,7 @@
53
53
  <view class="u-textarea__right-icon u-flex">
54
54
  <view
55
55
  class="u-textarea__right-icon__clear u-textarea__right-icon__item"
56
- v-if="clearable && modelValue != '' && !disabled"
56
+ v-if="clearable && focused && modelValue != '' && !disabled"
57
57
  >
58
58
  <u-icon size="32" name="close-circle-fill" color="var(--u-light-color)" @click="onClear" />
59
59
  </view>
@@ -218,6 +218,7 @@ function setFormatter(e: any) {
218
218
  }
219
219
 
220
220
  function onFocus(e: any) {
221
+ focused.value = true;
221
222
  emit('focus', e);
222
223
  }
223
224
 
@@ -225,6 +226,7 @@ function onBlur(e: any) {
225
226
  setTimeout(() => {
226
227
  e.detail.value = innerValue.value;
227
228
  let value = e.detail.value;
229
+ focused.value = false;
228
230
  emit('blur', e);
229
231
  emitToParent('onFormBlur', value);
230
232
  }, 40);
@@ -348,7 +348,7 @@ defineExpose<ToastExpose>({
348
348
  .u-type-primary {
349
349
  color: $u-type-primary;
350
350
  background-color: $u-type-primary-light;
351
- border: 1px solid rgb(215, 234, 254);
351
+ border: 1px solid var(--u-type-primary-light);
352
352
  }
353
353
 
354
354
  .u-type-success {
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.12",
5
+ "version": "0.5.14",
6
6
  "description": "uView Pro是基于Vue3+TS的多平台UI框架,提供80+高质量组件、便捷工具和常用模板,支持多主题、暗黑模式、多语言,支持H5/APP/鸿蒙/小程序多端开发。已在鸿蒙应用商店上架,欢迎体验!",
7
7
  "main": "index.ts",
8
8
  "module": "index.ts",
package/readme.md CHANGED
@@ -24,6 +24,8 @@
24
24
 
25
25
  ## [官方文档:https://uviewpro.cn](https://uviewpro.cn)
26
26
 
27
+ ## [快速启动模板:https://starter.uviewpro.cn](https://starter.uviewpro.cn)
28
+
27
29
  ## 特性
28
30
 
29
31
  - 兼容安卓,iOS,微信小程序,H5,QQ 小程序,百度小程序,支付宝小程序,头条小程序