uview-plus 3.6.28 → 3.7.0

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.
Files changed (113) hide show
  1. package/README.md +20 -5
  2. package/changelog.md +314 -0
  3. package/components/u-album/album.js +1 -1
  4. package/components/u-avatar/avatar.js +4 -4
  5. package/components/u-avatar-group/avatarGroup.js +4 -4
  6. package/components/u-back-top/backtop.js +4 -4
  7. package/components/u-badge/badge.js +4 -4
  8. package/components/u-button/button.js +4 -4
  9. package/components/u-calendar/calendar.js +4 -4
  10. package/components/u-canvas/u-canvas.vue +146 -0
  11. package/components/u-car-keyboard/carKeyboard.js +4 -4
  12. package/components/u-cascader/u-cascader.vue +19 -10
  13. package/components/u-cate-tab/u-cate-tab.vue +14 -4
  14. package/components/u-cell/cell.js +4 -4
  15. package/components/u-cell-group/cellGroup.js +4 -4
  16. package/components/u-checkbox/checkbox.js +4 -4
  17. package/components/u-checkbox-group/checkboxGroup.js +4 -4
  18. package/components/u-circle-progress/circleProgress.js +4 -4
  19. package/components/u-code/code.js +3 -3
  20. package/components/u-code-input/codeInput.js +4 -4
  21. package/components/u-col/col.js +4 -4
  22. package/components/u-collapse/collapse.js +4 -4
  23. package/components/u-collapse-item/collapseItem.js +4 -4
  24. package/components/u-column-notice/columnNotice.js +4 -4
  25. package/components/u-count-down/countDown.js +4 -4
  26. package/components/u-count-to/countTo.js +4 -4
  27. package/components/u-cropper/u-cropper.vue +6 -3
  28. package/components/u-datetime-picker/datetimePicker.js +4 -4
  29. package/components/u-divider/divider.js +4 -4
  30. package/components/u-dragsort/u-dragsort.vue +85 -72
  31. package/components/u-empty/empty.js +4 -4
  32. package/components/u-form/form.js +4 -4
  33. package/components/u-form-item/formItem.js +4 -4
  34. package/components/u-gap/gap.js +4 -4
  35. package/components/u-grid/grid.js +4 -4
  36. package/components/u-grid/u-grid.vue +1 -1
  37. package/components/u-grid-item/gridItem.js +4 -4
  38. package/components/u-icon/icon.js +4 -4
  39. package/components/u-image/image.js +4 -4
  40. package/components/u-index-anchor/indexAnchor.js +4 -4
  41. package/components/u-index-list/indexList.js +4 -4
  42. package/components/u-input/input.js +1 -1
  43. package/components/u-input/u-input.vue +5 -2
  44. package/components/u-keyboard/keyboard.js +4 -4
  45. package/components/u-line/line.js +4 -4
  46. package/components/u-line-progress/lineProgress.js +4 -4
  47. package/components/u-link/link.js +4 -4
  48. package/components/u-list/list.js +4 -4
  49. package/components/u-list/u-list.vue +4 -1
  50. package/components/u-list-item/listItem.js +4 -4
  51. package/components/u-loading-icon/loadingIcon.js +4 -4
  52. package/components/u-loading-page/loadingPage.js +4 -4
  53. package/components/u-loadmore/loadmore.js +4 -4
  54. package/components/u-modal/modal.js +5 -5
  55. package/components/u-navbar/navbar.js +4 -4
  56. package/components/u-no-network/noNetwork.js +4 -4
  57. package/components/u-no-network/u-no-network.vue +7 -3
  58. package/components/u-notice-bar/noticeBar.js +4 -4
  59. package/components/u-notify/notify.js +4 -4
  60. package/components/u-number-box/numberBox.js +4 -4
  61. package/components/u-number-keyboard/numberKeyboard.js +4 -4
  62. package/components/u-overlay/overlay.js +4 -4
  63. package/components/u-parse/props.js +1 -1
  64. package/components/u-picker/picker.js +4 -4
  65. package/components/u-picker/props.js +4 -0
  66. package/components/u-picker/u-picker.vue +1 -1
  67. package/components/u-popup/popup.js +4 -4
  68. package/components/u-qrcode/qrcode.js +17 -67
  69. package/components/u-qrcode/u-qrcode.vue +178 -85
  70. package/components/u-radio/radio.js +4 -4
  71. package/components/u-radio-group/radioGroup.js +3 -3
  72. package/components/u-rate/rate.js +4 -4
  73. package/components/u-read-more/readMore.js +4 -4
  74. package/components/u-row/row.js +4 -4
  75. package/components/u-row-notice/rowNotice.js +4 -4
  76. package/components/u-scroll-list/scrollList.js +4 -4
  77. package/components/u-search/search.js +7 -5
  78. package/components/u-search/u-search.vue +2 -2
  79. package/components/u-section/section.js +4 -4
  80. package/components/u-select/u-select.vue +4 -1
  81. package/components/u-signature/u-signature.vue +1 -0
  82. package/components/u-skeleton/skeleton.js +4 -4
  83. package/components/u-slider/slider.js +4 -4
  84. package/components/u-status-bar/statusBar.js +4 -4
  85. package/components/u-steps/steps.js +4 -4
  86. package/components/u-steps/u-steps.vue +1 -1
  87. package/components/u-steps-item/stepsItem.js +4 -4
  88. package/components/u-sticky/sticky.js +4 -4
  89. package/components/u-subsection/subsection.js +4 -4
  90. package/components/u-swipe-action/swipeAction.js +4 -4
  91. package/components/u-swipe-action-item/swipeActionItem.js +4 -4
  92. package/components/u-swiper/swiper.js +4 -4
  93. package/components/u-swiper-indicator/swipterIndicator.js +4 -4
  94. package/components/u-switch/switch.js +4 -4
  95. package/components/u-tabbar/tabbar.js +4 -4
  96. package/components/u-tabbar-item/tabbarItem.js +4 -4
  97. package/components/u-tabs/tabs.js +4 -4
  98. package/components/u-tag/tag.js +4 -4
  99. package/components/u-text/text.js +4 -4
  100. package/components/u-textarea/textarea.js +4 -4
  101. package/components/u-toast/toast.js +4 -4
  102. package/components/u-toolbar/toolbar.js +4 -4
  103. package/components/u-tooltip/tooltip.js +4 -4
  104. package/components/u-transition/transition.js +4 -4
  105. package/components/u-upload/upload.js +4 -4
  106. package/libs/function/index.js +11 -5
  107. package/libs/util/gcanvas/bridge/bridge-weex.js +2 -1
  108. package/libs/util/gcanvas/env/image.js +24 -16
  109. package/package.json +2 -2
  110. package/types/comps/radio.d.ts +6 -2
  111. package/types/func.d.ts +317 -0
  112. package/types/index.d.ts +73 -105
  113. package/components/u-scroll-list/other.js +0 -0
@@ -1,13 +1,23 @@
1
1
  <template>
2
2
  <view class="u-dragsort"
3
- :class="[direction == 'horizontal' ? 'u-dragsort--horizontal' : '', direction == 'vertical' ? 'u-dragsort--vertical' : '', direction == 'all' ? 'u-dragsort--all' : '']">
4
- <movable-area class="u-dragsort-area" :style="movableAreaStyle">
3
+ :class="[direction == 'horizontal' ? 'u-dragsort--horizontal' : '', direction == 'vertical' ? 'u-dragsort--vertical' : '', direction == 'all' ? 'u-dragsort--all' : '']"
4
+ :style="movableAreaStyle"
5
+ >
6
+ <movable-area class="u-dragsort-area">
5
7
  <movable-view v-for="(item, index) in list" :key="item.id" :id="`u-dragsort-item-${index}`"
6
- class="u-dragsort-item" :class="{ 'dragging': dragIndex === index }"
8
+ class="u-dragsort-item" :class="{ 'dragging': dragIndex === index, disabled: !draggable || item.draggable === false }"
7
9
  :direction="direction === 'all' ? 'all' : direction" :x="item.x" :y="item.y" :inertia="false"
8
- :disabled="!draggable || (item.draggable === false)" @change="onChange(index, $event)"
9
- @touchstart="onTouchStart(index)" @touchend="onTouchEnd" @touchcancel="onTouchEnd">
10
+ :disabled="!draggable || dragIndex === -1 || item.draggable === false" @change="onChange(index, $event)"
11
+ @touchstart="onTouchStart(index, $event)" @touchend="onTouchEnd" @touchcancel="onTouchEnd" @touchmove="onTouchMove">
10
12
  <view class="u-dragsort-item-content">
13
+ <view
14
+ class="ui-dragSort-item-handler"
15
+ v-if="$slots.handler"
16
+ data-action="handler"
17
+ @touchstart="onTouchStart(index, $event)"
18
+ >
19
+ <slot name="handler" :item="item" :index="index"></slot>
20
+ </view>
11
21
  <slot :item="item" :index="index">
12
22
  {{ item.label }}
13
23
  </slot>
@@ -39,6 +49,10 @@ export default {
39
49
  type: Boolean,
40
50
  default: true
41
51
  },
52
+ vibrate: {
53
+ type: Boolean,
54
+ default: true
55
+ },
42
56
  direction: {
43
57
  type: String,
44
58
  default: 'vertical',
@@ -54,11 +68,11 @@ export default {
54
68
  return {
55
69
  list: [],
56
70
  dragIndex: -1,
57
- itemHeight: 40,
58
- itemWidth: 80,
71
+ sortChanged: false,
72
+ itemHeight: 0,
73
+ itemWidth: 0,
59
74
  areaWidth: 0, // 可拖动区域宽度
60
75
  areaHeight: 0, // 可拖动区域高度
61
- originalPositions: [], // 保存原始位置
62
76
  currentPosition: {
63
77
  x: 0,
64
78
  y: 0
@@ -69,21 +83,21 @@ export default {
69
83
  movableAreaStyle() {
70
84
  if (this.direction === 'vertical') {
71
85
  return {
72
- height: `${this.list.length * this.itemHeight}px`,
86
+ height: this.itemHeight ? `${this.list.length * this.itemHeight}px` : 'auto',
73
87
  width: '100%'
74
- };
88
+ }
75
89
  } else if (this.direction === 'horizontal') {
76
90
  return {
77
- height: `${this.itemHeight}px`,
78
- width: `${this.list.length * this.itemWidth}px`
79
- };
91
+ height: this.itemHeight ? `${this.itemHeight}px` : 'auto',
92
+ width: this.itemWidth ? `${this.list.length * this.itemWidth}px` : 'auto'
93
+ }
80
94
  } else {
81
95
  // all模式,计算网格布局所需的高度
82
- const rows = Math.ceil(this.list.length / this.columns);
96
+ const rows = Math.ceil(this.list.length / this.columns)
83
97
  return {
84
- height: `${rows * this.itemHeight}px`,
98
+ height: this.itemHeight ? `${rows * this.itemHeight}px` : 'auto',
85
99
  width: '100%'
86
- };
100
+ }
87
101
  }
88
102
  }
89
103
  },
@@ -98,37 +112,29 @@ export default {
98
112
  initList() {
99
113
  // 初始化列表项的位置
100
114
  this.list = this.initialList.map((item, index) => {
101
- let x = 0, y = 0;
115
+ let x
116
+ let y
102
117
 
103
- if (this.direction === 'horizontal') {
104
- x = index * this.itemWidth;
105
- y = 0;
106
- } else if (this.direction === 'vertical') {
107
- x = 0;
108
- y = index * this.itemHeight;
109
- } else {
118
+ if (this.direction === 'horizontal' && this.itemWidth) {
119
+ x = index * this.itemWidth
120
+ y = 0
121
+ } else if (this.direction === 'vertical' && this.itemHeight) {
122
+ x = 0
123
+ y = index * this.itemHeight
124
+ } else if (this.itemWidth && this.itemHeight) {
110
125
  // all模式,网格布局
111
- const col = index % this.columns;
112
- const row = Math.floor(index / this.columns);
113
- x = col * this.itemWidth;
114
- y = row * this.itemHeight;
126
+ const col = index % this.columns
127
+ const row = Math.floor(index / this.columns)
128
+ x = col * this.itemWidth
129
+ y = row * this.itemHeight
115
130
  }
116
131
 
117
132
  return {
118
133
  ...item,
119
134
  x,
120
135
  y
121
- };
122
- });
123
- // 保存初始位置
124
- this.saveOriginalPositions();
125
- },
126
- saveOriginalPositions() {
127
- // 保存当前位置作为原始位置
128
- this.originalPositions = this.list.map(item => ({
129
- x: item.x,
130
- y: item.y
131
- }));
136
+ }
137
+ })
132
138
  },
133
139
  async calculateItemSize() {
134
140
  // 计算项目尺寸
@@ -144,8 +150,6 @@ export default {
144
150
 
145
151
  // 更新所有项目的位置
146
152
  this.updatePositions();
147
- // 保存原始位置
148
- this.saveOriginalPositions();
149
153
  }
150
154
  resolve(res);
151
155
  })
@@ -169,16 +173,12 @@ export default {
169
173
  .exec();
170
174
  });
171
175
  },
172
- updatePositions() {
176
+ updatePositions(isDragging) {
173
177
  // 更新所有项目的位置
174
178
  this.list = this.list.map((item, index) => {
175
179
  // 当前正在拖动的项目保持拖动位置不动,避免抖动
176
- if (this.dragIndex === index) {
177
- return {
178
- ...item,
179
- x: this.currentPosition.x,
180
- y: this.currentPosition.y
181
- }
180
+ if (isDragging && this.dragIndex === index) {
181
+ return item
182
182
  }
183
183
 
184
184
  if (this.direction === 'vertical') {
@@ -208,10 +208,21 @@ export default {
208
208
  }
209
209
  })
210
210
  },
211
- onTouchStart(index) {
211
+ onTouchStart(index, e) {
212
+ if (this.$slots.handler && e.currentTarget.dataset.action !== 'handler') {
213
+ return
214
+ }
215
+ if (this.list[index]?.draggable === false) return;
216
+ if (this.timer) clearTimeout(this.timer);
217
+ this.sortChanged = false;
212
218
  this.dragIndex = index;
213
- // 保存当前位置作为原始位置
214
- this.saveOriginalPositions();
219
+ },
220
+ onTouchMove(e) {
221
+ if (this.dragIndex !== -1) {
222
+ // 目前只对H5生效, 如果该组件放置在开启了下拉刷新的scroll-view中, 向下拖动item还是会触发下拉刷新
223
+ e.stopPropagation()
224
+ e.preventDefault()
225
+ }
215
226
  },
216
227
  onChange(index, event) {
217
228
  if (!event.detail.source || event.detail.source !== 'touch') return;
@@ -265,21 +276,22 @@ export default {
265
276
  const movedItem = this.list.splice(fromIndex, 1)[0];
266
277
  this.list.splice(toIndex, 0, movedItem);
267
278
 
268
- // 震动反馈
269
- if (uni.vibrateShort) {
270
- uni.vibrateShort();
271
- }
272
-
273
279
  // 更新当前拖拽项目的新索引
274
280
  this.dragIndex = toIndex;
281
+ this.sortChanged = true;
275
282
 
276
283
  // 更新所有项目的位置
277
- this.updatePositions();
284
+ this.updatePositions(true);
278
285
 
279
- // 保存当前位置作为原始位置
280
- this.saveOriginalPositions();
286
+ // 震动反馈
287
+ if (this.vibrate && uni.vibrateShort) {
288
+ uni.vibrateShort({ type: 'light' });
289
+ }
281
290
  },
282
291
  onTouchEnd() {
292
+ // 未发生位移
293
+ if (this.dragIndex === -1) return
294
+
283
295
  // 0.001是为了解决拖动过快等某些极限场景下位置还原不生效问题
284
296
  if (this.direction === 'horizontal') {
285
297
  this.list[this.dragIndex].x = this.currentPosition.x + 0.001;
@@ -290,12 +302,14 @@ export default {
290
302
 
291
303
  // 重置到位置,需要延迟触发动,否则无效。
292
304
  sleep(50).then(() => {
293
- this.list.forEach((item, index) => {
294
- item.x = this.originalPositions[index].x;
295
- item.y = this.originalPositions[index].y;
296
- });
297
- this.dragIndex = -1;
298
- this.$emit('drag-end', [...this.list]);
305
+ this.updatePositions();
306
+ if (this.sortChanged) {
307
+ this.$emit('drag-end', [...this.list]);
308
+ this.sortChanged = false;
309
+ }
310
+ this.timer = setTimeout(() => {
311
+ this.dragIndex = -1
312
+ }, 600)
299
313
  });
300
314
  }
301
315
  },
@@ -306,7 +320,7 @@ export default {
306
320
  this.initList();
307
321
  });
308
322
  },
309
- deep: true
323
+ // deep: true
310
324
  },
311
325
  direction: {
312
326
  handler() {
@@ -323,7 +337,6 @@ export default {
323
337
  this.$nextTick(() => {
324
338
  this.initList();
325
339
  this.updatePositions();
326
- this.saveOriginalPositions();
327
340
  });
328
341
  }
329
342
  }
@@ -335,15 +348,19 @@ export default {
335
348
  <style scoped lang="scss">
336
349
  .u-dragsort {
337
350
  width: 100%;
351
+ height: auto;
338
352
 
339
353
  .u-dragsort-area {
340
354
  width: 100%;
355
+ height: 100%;
341
356
  position: relative;
342
357
  }
343
358
 
344
359
  .u-dragsort-item {
345
360
  position: absolute;
346
361
  width: 100%;
362
+ transition: box-shadow 0.45s ease-out;
363
+ cursor: pointer;
347
364
 
348
365
  &.dragging {
349
366
  z-index: 1000;
@@ -351,6 +368,7 @@ export default {
351
368
  }
352
369
 
353
370
  .u-dragsort-item-content {
371
+ position: relative;
354
372
  padding: 0;
355
373
  box-sizing: border-box;
356
374
  }
@@ -366,7 +384,6 @@ export default {
366
384
  .u-dragsort-area {
367
385
  display: flex;
368
386
  white-space: nowrap;
369
- height: auto;
370
387
  }
371
388
 
372
389
  .u-dragsort-item {
@@ -376,10 +393,6 @@ export default {
376
393
  }
377
394
 
378
395
  &.u-dragsort--all {
379
- .u-dragsort-area {
380
- height: auto;
381
- }
382
-
383
396
  .u-dragsort-item {
384
397
  width: auto;
385
398
  height: auto;
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:03:27
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/empty.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/empty.js
9
9
  */
10
10
  export default {
11
11
  // empty组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:03:49
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/form.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/form.js
9
9
  */
10
10
  export default {
11
11
  // form 组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:04:32
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/formItem.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/formItem.js
9
9
  */
10
10
  export default {
11
11
  // formItem 组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:05:25
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/gap.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/gap.js
9
9
  */
10
10
  export default {
11
11
  // gap组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:05:57
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/grid.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/grid.js
9
9
  */
10
10
  export default {
11
11
  // grid组件
@@ -107,7 +107,7 @@
107
107
  /* #ifndef APP-NVUE */
108
108
  display: grid !important;
109
109
  grid-gap: v-bind(gap);
110
- grid-template-columns: repeat(v-bind(col), 1fr);
110
+ grid-template-columns: repeat(v-bind(col), minmax(0, 1fr));
111
111
  /* #endif */
112
112
  }
113
113
  </style>
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:06:13
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/gridItem.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/gridItem.js
9
9
  */
10
10
  export default {
11
11
  // grid-item组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 18:00:14
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/icon.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/icon.js
9
9
  */
10
10
  import config from '../../libs/config/config'
11
11
 
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:01:51
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/image.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/image.js
9
9
  */
10
10
  export default {
11
11
  // image组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:13:15
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/indexAnchor.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/indexAnchor.js
9
9
  */
10
10
  export default {
11
11
  // indexAnchor 组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:13:35
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/indexList.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/indexList.js
9
9
  */
10
10
  export default {
11
11
  // indexList 组件
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
6
  * @LastAuthor : jry
7
7
  * @lastTime : 2025-08-20 10:21:55
@@ -322,14 +322,17 @@ export default {
322
322
  if (!isOut || this.clearInput) {
323
323
  // 标识value值的变化是由内部引起的
324
324
  this.changeFromInner = true;
325
- this.$emit("change", value);
326
-
325
+
327
326
  // #ifdef VUE3
328
327
  this.$emit("update:modelValue", value);
329
328
  // #endif
330
329
  // #ifdef VUE2
331
330
  this.$emit("input", value);
332
331
  // #endif
332
+
333
+ //change方法需要放在下面,否则会引起change先触发,model后变化的异常
334
+ this.$emit("change", value);
335
+
333
336
  }
334
337
 
335
338
  // 尝试调用u-form的验证方法
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:07:49
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/keyboard.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/keyboard.js
9
9
  */
10
10
  import { t } from '../../libs/i18n'
11
11
  export default {
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:04:49
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/line.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/line.js
9
9
  */
10
10
  export default {
11
11
  // line组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:14:11
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/lineProgress.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/lineProgress.js
9
9
  */
10
10
  export default {
11
11
  // lineProgress 组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:45:36
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/link.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/link.js
9
9
  */
10
10
  import config from '../../libs/config/config'
11
11
  import { t } from '../../libs/i18n'
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:14:53
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/list.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/list.js
9
9
  */
10
10
  export default {
11
11
  // list 组件
@@ -114,7 +114,7 @@
114
114
  this.anchors = []
115
115
  },
116
116
  mounted() {},
117
- emits: ["scroll", "scrolltolower", "scrolltoupper",
117
+ emits: ["scroll", "scrolltolower", "scroll-to-lower", "scrolltoupper", "scroll-to-upper",
118
118
  "refresherpulling", "refresherrefresh", "refresherrestore", "refresherabort"],
119
119
  methods: {
120
120
  updateOffsetFromChild(top) {
@@ -145,6 +145,8 @@
145
145
  scrolltolower(e) {
146
146
  sleep(30).then(() => {
147
147
  this.$emit('scrolltolower')
148
+ // 支付宝小程序奇怪无法触发scrolltolowerhttps://github.com/ijry/uview-plus/issues/422
149
+ this.$emit('scroll-to-lower')
148
150
  })
149
151
  },
150
152
  // #ifndef APP-NVUE
@@ -152,6 +154,7 @@
152
154
  scrolltoupper(e) {
153
155
  sleep(30).then(() => {
154
156
  this.$emit('scrolltoupper')
157
+ this.$emit('scroll-to-upper')
155
158
  // 这一句很重要,能绝对保证在性功能障碍的webview,滚动条到顶时,取消偏移值,让页面置顶
156
159
  this.offset = 0
157
160
  })
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:15:40
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/listItem.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/listItem.js
9
9
  */
10
10
  export default {
11
11
  // listItem 组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 17:45:47
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/loadingIcon.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/loadingIcon.js
9
9
  */
10
10
  import config from '../../libs/config/config'
11
11