@10yun/cv-mobile-ui 0.3.26 → 0.4.2

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 (235) hide show
  1. package/build/parse-pages.js +2 -2
  2. package/package.json +1 -1
  3. package/ui-cv/README.md +3 -0
  4. package/ui-cv/cv-badge/cv-badge.vue +249 -0
  5. package/ui-cv/cv-banner/cv-banner.vue +1 -1
  6. package/ui-cv/cv-banner-card/cv-banner-card.vue +1 -1
  7. package/ui-cv/cv-block/cv-block.vue +1 -1
  8. package/ui-cv/cv-box/cv-box.vue +1 -1
  9. package/ui-cv/cv-calendar/calendar.js +963 -0
  10. package/ui-cv/cv-calendar/cv-calendar-item.vue +198 -0
  11. package/ui-cv/cv-calendar/cv-calendar.vue +508 -0
  12. package/{ui-uni/uni-calendar → ui-cv/cv-calendar}/util.js +0 -0
  13. package/ui-cv/cv-card/cv-card.vue +427 -0
  14. package/ui-cv/cv-cell/cv-cell.vue +1 -1
  15. package/ui-cv/cv-checkbox-group/cv-checkbox-group.vue +227 -0
  16. package/ui-cv/cv-checkbox-opt-base/cv-checkbox-opt-base.vue +57 -0
  17. package/ui-cv/cv-checkbox-opt-tag/cv-checkbox-opt-tag.vue +107 -0
  18. package/ui-cv/cv-code-sms/cv-code-sms.vue +23 -42
  19. package/ui-cv/cv-col/cv-col.vue +2965 -0
  20. package/ui-cv/cv-collapse/cv-collapse.vue +146 -0
  21. package/ui-cv/cv-collapse-item/cv-collapse-item.vue +395 -0
  22. package/ui-cv/cv-combox/cv-combox.vue +250 -0
  23. package/ui-cv/cv-countdown/cv-countdown.vue +245 -0
  24. package/ui-cv/cv-data-checkbox/cv-data-checkbox.vue +841 -0
  25. package/{ui-uni/uni-data-indexed-list → ui-cv/cv-data-indexed-list}/clientdb.js +0 -0
  26. package/ui-cv/cv-data-indexed-list/cv-data-indexed-list-item.vue +154 -0
  27. package/ui-cv/cv-data-indexed-list/cv-data-indexed-list.vue +376 -0
  28. package/ui-cv/cv-data-picker/cv-data-picker.vue +486 -0
  29. package/{ui-uni/uni-data-picker → ui-cv/cv-data-picker}/keypress.js +0 -0
  30. package/{ui-uni/uni-data-pickerview/uni-data-picker.js → ui-cv/cv-data-pickerview/cv-data-picker.js} +0 -0
  31. package/ui-cv/cv-data-pickerview/cv-data-pickerview.vue +304 -0
  32. package/ui-cv/cv-dateformat/cv-dateformat.vue +86 -0
  33. package/{ui-uni/uni-dateformat → ui-cv/cv-dateformat}/date-format.js +0 -0
  34. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/calendar-item.vue +0 -0
  35. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/calendar.js +0 -0
  36. package/ui-cv/cv-datetime-picker/calendar.vue +761 -0
  37. package/ui-cv/cv-datetime-picker/cv-datetime-picker.vue +958 -0
  38. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/keypress.js +0 -0
  39. package/ui-cv/cv-datetime-picker/time-picker.vue +907 -0
  40. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/util.js +0 -0
  41. package/ui-cv/cv-dialog-bottom/cv-dialog-bottom.vue +1 -1
  42. package/ui-cv/cv-dialog-full/cv-dialog-full.vue +1 -1
  43. package/ui-cv/cv-dialog-loading/cv-dialog-loading.vue +3 -3
  44. package/ui-cv/cv-drawer/cv-drawer.vue +185 -0
  45. package/{ui-uni/uni-drawer → ui-cv/cv-drawer}/keypress.js +14 -14
  46. package/{ui-uni/uni-easyinput → ui-cv/cv-easyinput}/common.js +0 -0
  47. package/ui-cv/cv-easyinput/cv-easyinput.vue +514 -0
  48. package/ui-cv/cv-editor-parse/readme.md +2 -3
  49. package/ui-cv/{cv-editor → cv-editor-quill}/compressImage.vue +0 -0
  50. package/ui-cv/{cv-editor/cv-editor.vue → cv-editor-quill/cv-editor-quill.vue} +3 -23
  51. package/ui-cv/{cv-editor → cv-editor-quill}/editor-icon.css +0 -0
  52. package/ui-cv/{cv-editor → cv-editor-quill}/editor-icon.ttf +0 -0
  53. package/ui-cv/{cv-editor → cv-editor-quill}/index.js +0 -0
  54. package/ui-cv/cv-fab/cv-fab.vue +465 -0
  55. package/{ui-uni/uni-fab/uni-fab.vue.bak → ui-cv/cv-fab/cv-fab.vue.bak} +2 -2
  56. package/ui-cv/cv-fav/cv-fav.vue +150 -0
  57. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/choose-and-upload-file.js +0 -0
  58. package/ui-cv/cv-file-picker/cv-file-picker.vue +619 -0
  59. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/upload-file.vue +0 -0
  60. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/upload-image.vue +0 -0
  61. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/utils.js +0 -0
  62. package/ui-cv/cv-form-base/cv-form-base.vue +470 -0
  63. package/ui-cv/cv-form-base/validate.js +477 -0
  64. package/ui-cv/cv-form-group/cv-form-group.vue +123 -80
  65. package/ui-cv/cv-form-group/cv-form-group2.vue +80 -0
  66. package/ui-cv/cv-form-item/cv-form-item.vue +482 -174
  67. package/ui-cv/cv-form-item/cv-form-item2.vue +215 -0
  68. package/ui-cv/cv-form-merge/cv-form-merge.vue +1 -1
  69. package/ui-cv/cv-geo-local/cv-geo-local.vue +14 -26
  70. package/{ui-uni/uni-goods-nav/uni-goods-nav.vue → ui-cv/cv-goods-nav/cv-goods-nav.vue} +1 -1
  71. package/ui-cv/cv-grid-group/cv-grid-group.vue +148 -0
  72. package/ui-cv/cv-grid-item/cv-grid-item.vue +132 -0
  73. package/ui-cv/cv-icon2/cv-icon2.vue +78 -0
  74. package/ui-cv/cv-icon2/icons.js +132 -0
  75. package/{ui-uni/uni-icons → ui-cv/cv-icon2}/uni.ttf +0 -0
  76. package/ui-cv/cv-icons/cv-icons.vue +1 -1
  77. package/ui-cv/cv-indexed-list/cv-indexed-list-item.vue +154 -0
  78. package/ui-cv/cv-indexed-list/cv-indexed-list.vue +371 -0
  79. package/ui-cv/cv-info/cv-info.vue +5 -20
  80. package/ui-cv/cv-input-btn/cv-input-btn.vue +25 -43
  81. package/ui-cv/cv-input-digit/cv-input-digit.vue +61 -28
  82. package/ui-cv/cv-input-idcard/cv-input-idcard.vue +47 -29
  83. package/ui-cv/cv-input-number/cv-input-number.vue +60 -28
  84. package/ui-cv/cv-input-password/cv-input-password.vue +80 -30
  85. package/ui-cv/cv-input-text/cv-input-text.vue +55 -37
  86. package/ui-cv/cv-link2/cv-link2.vue +130 -0
  87. package/ui-cv/cv-list/cv-list.vue +107 -0
  88. package/ui-cv/cv-list/cv-refresh.vue +65 -0
  89. package/{ui-uni/uni-list → ui-cv/cv-list}/uni-refresh.wxs +0 -0
  90. package/ui-cv/cv-list-ad/cv-list-ad.vue +113 -0
  91. package/{ui-uni/uni-list-chat/uni-list-chat.scss → ui-cv/cv-list-chat/cv-list-chat.scss} +0 -0
  92. package/{ui-uni/uni-list-chat/uni-list-chat.vue → ui-cv/cv-list-chat/cv-list-chat.vue} +0 -0
  93. package/ui-cv/cv-list-item/cv-list-item.vue +449 -0
  94. package/ui-cv/cv-load-more/config.json +9 -9
  95. package/ui-cv/cv-load-more/cv-load-more.vue +34 -5
  96. package/ui-cv/cv-message/cv-message.vue +1 -1
  97. package/ui-cv/cv-nav-bar/cv-nav-bar.vue +256 -0
  98. package/{ui-uni/uni-nav-bar/uni-status-bar.vue → ui-cv/cv-nav-bar/cv-status-bar.vue} +0 -0
  99. package/ui-cv/cv-nav-col/cv-nav-col.vue +1 -1
  100. package/ui-cv/cv-nav-row/cv-nav-row.vue +1 -1
  101. package/ui-cv/cv-notice-bar/cv-notice-bar.vue +453 -0
  102. package/ui-cv/cv-number-box/cv-number-box.vue +223 -0
  103. package/ui-cv/cv-pagination/cv-pagination.vue +397 -0
  104. package/ui-cv/cv-picker-date/cv-picker-date.vue +17 -27
  105. package/ui-cv/cv-picker-datetime/cv-picker-datetime.vue +31 -41
  106. package/ui-cv/cv-picker-datetime5/cv-picker-datetime5.vue +19 -29
  107. package/ui-cv/cv-picker-region/cv-picker-region.vue +23 -33
  108. package/ui-cv/cv-picker-time/cv-picker-time.vue +16 -26
  109. package/ui-cv/cv-picker1/cv-picker1.vue +16 -28
  110. package/ui-cv/cv-picker2/cv-picker2.vue +22 -32
  111. package/ui-cv/cv-picker3/cv-picker3.vue +34 -44
  112. package/ui-cv/cv-popup/cv-popup.vue +429 -0
  113. package/{ui-uni/uni-popup → ui-cv/cv-popup}/keypress.js +0 -0
  114. package/{ui-uni/uni-popup → ui-cv/cv-popup}/popup.js +0 -0
  115. package/{ui-uni/uni-popup-dialog/uni-popup-dialog.vue → ui-cv/cv-popup-dialog/cv-popup-dialog.vue} +0 -0
  116. package/{ui-uni/uni-popup-dialog → ui-cv/cv-popup-dialog}/keypress.js +0 -0
  117. package/ui-cv/cv-popup-message/cv-popup-message.vue +143 -0
  118. package/{ui-uni/uni-popup-share/uni-popup-share.vue → ui-cv/cv-popup-share/cv-popup-share.vue} +0 -0
  119. package/ui-cv/cv-radio-group/cv-radio-group.vue +185 -0
  120. package/ui-cv/cv-radio-opt-base/cv-radio-opt-base.vue +57 -0
  121. package/ui-cv/cv-radio-opt-tag/cv-radio-opt-tag.vue +107 -0
  122. package/ui-cv/cv-rate/cv-rate.vue +13 -17
  123. package/ui-cv/cv-rate/uni-rate.vue +358 -0
  124. package/ui-cv/cv-row/cv-row.vue +157 -0
  125. package/ui-cv/cv-search/cv-search.vue +4 -4
  126. package/ui-cv/cv-search-bar/cv-search-bar.vue +280 -0
  127. package/{ui-uni/uni-section/uni-section.vue → ui-cv/cv-section/cv-section.vue} +0 -0
  128. package/{ui-uni/uni-segmented-control/uni-segmented-control.vue → ui-cv/cv-segmented-control/cv-segmented-control.vue} +0 -0
  129. package/ui-cv/cv-skeleton/cv-skeleton2.vue +5 -5
  130. package/ui-cv/cv-specs/cv-specs.vue +1 -1
  131. package/{ui-uni/uni-status-bar/uni-status-bar.vue → ui-cv/cv-status-bar/cv-status-bar.vue} +0 -0
  132. package/ui-cv/cv-steps/cv-steps.vue +293 -0
  133. package/{ui-uni/uni-swipe-action/uni-swipe-action.vue → ui-cv/cv-swipe-action/cv-swipe-action.vue} +0 -0
  134. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/bindingx.js +0 -0
  135. package/{ui-uni/uni-swipe-action-item/uni-swipe-action-item.vue → ui-cv/cv-swipe-action-item/cv-swipe-action-item.vue} +0 -0
  136. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/index.wxs +0 -0
  137. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/isPC.js +0 -0
  138. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/mpalipay.js +0 -0
  139. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/mpother.js +0 -0
  140. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/mpwxs.js +0 -0
  141. package/ui-cv/cv-swiper-dot/cv-swiper-dot.vue +255 -0
  142. package/ui-cv/cv-switch/cv-switch.vue +5 -9
  143. package/ui-cv/cv-table/cv-table.vue +460 -0
  144. package/ui-cv/cv-tag/cv-tag.vue +276 -0
  145. package/ui-cv/cv-tbody/cv-tbody.vue +28 -0
  146. package/ui-cv/cv-td/cv-td.vue +93 -0
  147. package/{ui-uni/uni-test/uni-test.vue → ui-cv/cv-test/cv-test.vue} +0 -0
  148. package/ui-cv/cv-textarea/cv-textarea.vue +56 -41
  149. package/ui-cv/cv-th/cv-th.vue +270 -0
  150. package/{ui-uni/uni-th → ui-cv/cv-th}/filter-dropdown.vue +0 -0
  151. package/ui-cv/cv-thead/cv-thead.vue +114 -0
  152. package/ui-cv/cv-title/cv-title.vue +168 -0
  153. package/ui-cv/cv-tr/cv-tr.vue +166 -0
  154. package/{ui-uni/uni-tr → ui-cv/cv-tr}/table-checkbox.vue +0 -0
  155. package/{ui-uni/uni-transition → ui-cv/cv-transition}/createAnimation.js +0 -0
  156. package/ui-cv/cv-transition/cv-transition.vue +279 -0
  157. package/ui-cv/cv-upload-avatar/cv-upload-avatar.vue +24 -22
  158. package/ui-cv/cv-upload-img/cv-upload-img.vue +1 -1
  159. package/ui-cv/mixins/mixins-input.js +20 -29
  160. package/ui-cv/mixins/mixins-picker.js +1 -13
  161. package/ui-uni/amap-wx/js/util.js +158 -166
  162. package/ui-uni/product.vue +52 -52
  163. package/ui-uni/u-charts/u-charts.js +1092 -743
  164. package/ui-cv/cv-checkbox/cv-checkbox.vue +0 -140
  165. package/ui-cv/cv-checkbox-tag/cv-checkbox-tag.vue +0 -164
  166. package/ui-cv/cv-nav-group/cv-nav-group.vue +0 -33
  167. package/ui-cv/cv-radio/cv-radio.vue +0 -111
  168. package/ui-cv/cv-radio-sex/cv-radio-sex.vue +0 -80
  169. package/ui-cv/cv-radio-tag/cv-radio-tag.vue +0 -133
  170. package/ui-cv/mixins/mixins-checkbox.js +0 -71
  171. package/ui-cv/mixins/mixins-common.js +0 -53
  172. package/ui-cv/mixins/mixins-radio.js +0 -84
  173. package/ui-uni/page-foot/page-foot.vue +0 -38
  174. package/ui-uni/page-head/page-head.vue +0 -16
  175. package/ui-uni/u-link/u-link.vue +0 -59
  176. package/ui-uni/uni-badge/uni-badge.vue +0 -250
  177. package/ui-uni/uni-calendar/calendar.js +0 -546
  178. package/ui-uni/uni-calendar/uni-calendar-item.vue +0 -171
  179. package/ui-uni/uni-calendar/uni-calendar.vue +0 -504
  180. package/ui-uni/uni-card/uni-card.vue +0 -420
  181. package/ui-uni/uni-col/uni-col.vue +0 -2968
  182. package/ui-uni/uni-collapse/uni-collapse.vue +0 -146
  183. package/ui-uni/uni-collapse-item/uni-collapse-item.vue +0 -378
  184. package/ui-uni/uni-combox/uni-combox.vue +0 -237
  185. package/ui-uni/uni-countdown/uni-countdown.vue +0 -234
  186. package/ui-uni/uni-data-checkbox/uni-data-checkbox.vue +0 -792
  187. package/ui-uni/uni-data-indexed-list/uni-data-indexed-list-item.vue +0 -142
  188. package/ui-uni/uni-data-indexed-list/uni-data-indexed-list.vue +0 -364
  189. package/ui-uni/uni-data-picker/uni-data-picker.vue +0 -468
  190. package/ui-uni/uni-data-pickerview/uni-data-pickerview.vue +0 -298
  191. package/ui-uni/uni-dateformat/uni-dateformat.vue +0 -88
  192. package/ui-uni/uni-datetime-picker/calendar.vue +0 -747
  193. package/ui-uni/uni-datetime-picker/time-picker.vue +0 -899
  194. package/ui-uni/uni-datetime-picker/uni-datetime-picker.vue +0 -874
  195. package/ui-uni/uni-drawer/uni-drawer.vue +0 -178
  196. package/ui-uni/uni-easyinput/uni-easyinput.vue +0 -438
  197. package/ui-uni/uni-fab/uni-fab.vue +0 -443
  198. package/ui-uni/uni-fav/uni-fav.vue +0 -136
  199. package/ui-uni/uni-file-picker/uni-file-picker.vue +0 -614
  200. package/ui-uni/uni-forms/uni-forms.vue +0 -467
  201. package/ui-uni/uni-forms/validate.js +0 -486
  202. package/ui-uni/uni-forms-item/uni-forms-item.vue +0 -500
  203. package/ui-uni/uni-grid/uni-grid.vue +0 -141
  204. package/ui-uni/uni-grid-item/uni-grid-item.vue +0 -123
  205. package/ui-uni/uni-group/uni-group.vue +0 -123
  206. package/ui-uni/uni-icons/icons.js +0 -132
  207. package/ui-uni/uni-icons/uni-icons.vue +0 -72
  208. package/ui-uni/uni-indexed-list/uni-indexed-list-item.vue +0 -142
  209. package/ui-uni/uni-indexed-list/uni-indexed-list.vue +0 -357
  210. package/ui-uni/uni-link/uni-link.vue +0 -117
  211. package/ui-uni/uni-list/uni-list.vue +0 -107
  212. package/ui-uni/uni-list/uni-refresh.vue +0 -65
  213. package/ui-uni/uni-list-ad/uni-list-ad.vue +0 -106
  214. package/ui-uni/uni-list-item/uni-list-item.vue +0 -428
  215. package/ui-uni/uni-load-more/uni-load-more.vue +0 -366
  216. package/ui-uni/uni-nav-bar/uni-nav-bar.vue +0 -244
  217. package/ui-uni/uni-notice-bar/uni-notice-bar.vue +0 -394
  218. package/ui-uni/uni-number-box/uni-number-box.vue +0 -224
  219. package/ui-uni/uni-pagination/uni-pagination.vue +0 -376
  220. package/ui-uni/uni-popup/uni-popup.vue +0 -412
  221. package/ui-uni/uni-popup-message/uni-popup-message.vue +0 -143
  222. package/ui-uni/uni-rate/uni-rate.vue +0 -357
  223. package/ui-uni/uni-row/uni-row.vue +0 -155
  224. package/ui-uni/uni-search-bar/uni-search-bar.vue +0 -262
  225. package/ui-uni/uni-steps/uni-steps.vue +0 -250
  226. package/ui-uni/uni-swiper-dot/uni-swiper-dot.vue +0 -205
  227. package/ui-uni/uni-table/uni-table.vue +0 -455
  228. package/ui-uni/uni-tag/uni-tag.vue +0 -283
  229. package/ui-uni/uni-tbody/uni-tbody.vue +0 -30
  230. package/ui-uni/uni-td/uni-td.vue +0 -88
  231. package/ui-uni/uni-th/uni-th.vue +0 -259
  232. package/ui-uni/uni-thead/uni-thead.vue +0 -114
  233. package/ui-uni/uni-title/uni-title.vue +0 -171
  234. package/ui-uni/uni-tr/uni-tr.vue +0 -156
  235. package/ui-uni/uni-transition/uni-transition.vue +0 -287
@@ -66,10 +66,32 @@
66
66
  </template>
67
67
 
68
68
  <script>
69
- const platform = uni.getSystemInfoSync().platform;
70
-
69
+ let platform;
70
+ setTimeout(() => {
71
+ platform = uni.getSystemInfoSync().platform;
72
+ }, 16);
73
+
74
+ /**
75
+ * LoadMore 加载更多
76
+ * @description 用于列表中,做滚动加载使用,展示 loading 的各种状态
77
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=29
78
+ * @property {String} status = [more|loading|noMore] loading 的状态
79
+ * @value more loading前
80
+ * @value loading loading中
81
+ * @value noMore 没有更多了
82
+ * @property {Number} iconSize 指定图标大小
83
+ * @property {Boolean} iconSize = [true|false] 是否显示 loading 图标
84
+ * @property {String} iconType = [snow|circle|auto] 指定图标样式
85
+ * @value snow ios雪花加载样式
86
+ * @value circle 安卓唤醒加载样式
87
+ * @value auto 根据平台自动选择加载样式
88
+ * @property {String} color 图标和文字颜色
89
+ * @property {Object} contentText 各状态文字说明,值为:{contentdown: "上拉显示更多",contentrefresh: "正在加载...",contentnomore: "没有更多数据了"}
90
+ * @event {Function} clickLoadMore 点击加载更多时触发
91
+ */
71
92
  export default {
72
93
  name: 'cvLoadMore',
94
+ emits: ['clickLoadMore'],
73
95
  props: {
74
96
  status: {
75
97
  // 上拉的状态:more-loading前;loading-loading中;noMore-没有更多了
@@ -141,7 +163,7 @@ export default {
141
163
  };
142
164
  </script>
143
165
 
144
- <style>
166
+ <style scoped>
145
167
  .cv-load-more {
146
168
  /* #ifndef APP-NVUE */
147
169
  display: flex;
@@ -256,7 +278,6 @@ export default {
256
278
  }
257
279
 
258
280
  /* #endif */
259
-
260
281
  /* #ifdef H5 */
261
282
  .cv-load-more__img--android-H5 {
262
283
  animation: loading-android-H5-rotate 2s linear infinite;
@@ -298,7 +319,6 @@ export default {
298
319
  }
299
320
 
300
321
  /* #endif */
301
-
302
322
  /* #ifndef APP-NVUE || H5 */
303
323
  .cv-load-more__img--android-MP {
304
324
  position: relative;
@@ -345,34 +365,43 @@ export default {
345
365
  0% {
346
366
  transform: rotate(0deg);
347
367
  }
368
+
348
369
  50% {
349
370
  transform: rotate(90deg);
350
371
  }
372
+
351
373
  100% {
352
374
  transform: rotate(360deg);
353
375
  }
354
376
  }
377
+
355
378
  @keyframes loading-android-MP-2 {
356
379
  0% {
357
380
  transform: rotate(0deg);
358
381
  }
382
+
359
383
  50% {
360
384
  transform: rotate(180deg);
361
385
  }
386
+
362
387
  100% {
363
388
  transform: rotate(360deg);
364
389
  }
365
390
  }
391
+
366
392
  @keyframes loading-android-MP-3 {
367
393
  0% {
368
394
  transform: rotate(0deg);
369
395
  }
396
+
370
397
  50% {
371
398
  transform: rotate(270deg);
372
399
  }
400
+
373
401
  100% {
374
402
  transform: rotate(360deg);
375
403
  }
376
404
  }
405
+
377
406
  /* #endif */
378
407
  </style>
@@ -22,7 +22,7 @@ export default {
22
22
  loaclStyle: {}
23
23
  };
24
24
  },
25
- created: function () {
25
+ created() {
26
26
  this.loaclStyle = { color: this.color };
27
27
  }
28
28
  };
@@ -0,0 +1,256 @@
1
+ <template>
2
+ <view class="uni-navbar">
3
+ <view
4
+ :class="{ 'uni-navbar--fixed': fixed, 'uni-navbar--shadow': shadow, 'uni-navbar--border': border }"
5
+ :style="{ 'background-color': backgroundColor }"
6
+ class="uni-navbar__content"
7
+ >
8
+ <status-bar v-if="statusBar" />
9
+ <view :style="{ color: color, backgroundColor: backgroundColor }" class="uni-navbar__header uni-navbar__content_view">
10
+ <view @tap="onClickLeft" class="uni-navbar__header-btns uni-navbar__header-btns-left uni-navbar__content_view">
11
+ <view class="uni-navbar__content_view" v-if="leftIcon.length">
12
+ <cv-icon2 :color="color" :type="leftIcon" size="24" />
13
+ </view>
14
+ <view
15
+ :class="{ 'uni-navbar-btn-icon-left': !leftIcon.length }"
16
+ class="uni-navbar-btn-text uni-navbar__content_view"
17
+ v-if="leftText.length"
18
+ >
19
+ <text :style="{ color: color, fontSize: '14px' }">{{ leftText }}</text>
20
+ </view>
21
+ <slot name="left" />
22
+ </view>
23
+ <view class="uni-navbar__header-container uni-navbar__content_view" @tap="onClickTitle">
24
+ <view class="uni-navbar__header-container-inner uni-navbar__content_view" v-if="title.length">
25
+ <text class="uni-nav-bar-text" :style="{ color: color }">{{ title }}</text>
26
+ </view>
27
+ <!-- 标题插槽 -->
28
+ <slot />
29
+ </view>
30
+ <view
31
+ :class="title.length ? 'uni-navbar__header-btns-right' : ''"
32
+ @tap="onClickRight"
33
+ class="uni-navbar__header-btns uni-navbar__content_view"
34
+ >
35
+ <view class="uni-navbar__content_view" v-if="rightIcon.length">
36
+ <cv-icon2 :color="color" :type="rightIcon" size="24" />
37
+ </view>
38
+ <!-- 优先显示图标 -->
39
+ <view class="uni-navbar-btn-text uni-navbar__content_view" v-if="rightText.length && !rightIcon.length">
40
+ <text class="uni-nav-bar-right-text">{{ rightText }}</text>
41
+ </view>
42
+ <slot name="right" />
43
+ </view>
44
+ </view>
45
+ </view>
46
+ <view class="uni-navbar__placeholder" v-if="fixed">
47
+ <status-bar v-if="statusBar" />
48
+ <view class="uni-navbar__placeholder-view" />
49
+ </view>
50
+ </view>
51
+ </template>
52
+
53
+ <script>
54
+ import statusBar from './cv-status-bar.vue';
55
+
56
+ /**
57
+ * NavBar 自定义导航栏
58
+ * @description 导航栏组件,主要用于头部导航
59
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=52
60
+ * @property {String} title 标题文字
61
+ * @property {String} leftText 左侧按钮文本
62
+ * @property {String} rightText 右侧按钮文本
63
+ * @property {String} leftIcon 左侧按钮图标(图标类型参考 [Icon 图标](http://ext.dcloud.net.cn/plugin?id=28) type 属性)
64
+ * @property {String} rightIcon 右侧按钮图标(图标类型参考 [Icon 图标](http://ext.dcloud.net.cn/plugin?id=28) type 属性)
65
+ * @property {String} color 图标和文字颜色
66
+ * @property {String} backgroundColor 导航栏背景颜色
67
+ * @property {Boolean} fixed = [true|false] 是否固定顶部
68
+ * @property {Boolean} statusBar = [true|false] 是否包含状态栏
69
+ * @property {Boolean} shadow = [true|false] 导航栏下是否有阴影
70
+ * @event {Function} clickLeft 左侧按钮点击时触发
71
+ * @event {Function} clickRight 右侧按钮点击时触发
72
+ * @event {Function} clickTitle 中间标题点击时触发
73
+ */
74
+ export default {
75
+ name: 'cvNavBar',
76
+ components: {
77
+ statusBar
78
+ },
79
+ emits: ['clickLeft', 'clickRight', 'clickTitle'],
80
+ props: {
81
+ title: {
82
+ type: String,
83
+ default: ''
84
+ },
85
+ leftText: {
86
+ type: String,
87
+ default: ''
88
+ },
89
+ rightText: {
90
+ type: String,
91
+ default: ''
92
+ },
93
+ leftIcon: {
94
+ type: String,
95
+ default: ''
96
+ },
97
+ rightIcon: {
98
+ type: String,
99
+ default: ''
100
+ },
101
+ fixed: {
102
+ type: [Boolean, String],
103
+ default: false
104
+ },
105
+ color: {
106
+ type: String,
107
+ default: '#000000'
108
+ },
109
+ backgroundColor: {
110
+ type: String,
111
+ default: '#FFFFFF'
112
+ },
113
+ statusBar: {
114
+ type: [Boolean, String],
115
+ default: false
116
+ },
117
+ shadow: {
118
+ type: [Boolean, String],
119
+ default: false
120
+ },
121
+ border: {
122
+ type: [Boolean, String],
123
+ default: true
124
+ }
125
+ },
126
+ mounted() {
127
+ if (uni.report && this.title !== '') {
128
+ uni.report('title', this.title);
129
+ }
130
+ },
131
+ methods: {
132
+ onClickLeft() {
133
+ this.$emit('clickLeft');
134
+ },
135
+ onClickRight() {
136
+ this.$emit('clickRight');
137
+ },
138
+ onClickTitle() {
139
+ this.$emit('clickTitle');
140
+ }
141
+ }
142
+ };
143
+ </script>
144
+
145
+ <style scoped>
146
+ .uni-nav-bar-text {
147
+ /* #ifdef APP-PLUS */
148
+ font-size: 34rpx;
149
+ /* #endif */
150
+ /* #ifndef APP-PLUS */
151
+ font-size: 16px;
152
+ /* #endif */
153
+ }
154
+
155
+ .uni-nav-bar-right-text {
156
+ font-size: 14px;
157
+ }
158
+
159
+ .uni-navbar__content {
160
+ position: relative;
161
+ background-color: #ffffff;
162
+ overflow: hidden;
163
+ }
164
+
165
+ .uni-navbar__content_view {
166
+ /* #ifndef APP-NVUE */
167
+ display: flex;
168
+ /* #endif */
169
+ align-items: center;
170
+ flex-direction: row;
171
+ }
172
+
173
+ .uni-navbar__header {
174
+ /* #ifndef APP-NVUE */
175
+ display: flex;
176
+ /* #endif */
177
+ flex-direction: row;
178
+ height: 44px;
179
+ line-height: 44px;
180
+ font-size: 16px;
181
+ }
182
+
183
+ .uni-navbar__header-btns {
184
+ /* #ifndef APP-NVUE */
185
+ display: flex;
186
+ /* #endif */
187
+ flex-wrap: nowrap;
188
+ width: 120rpx;
189
+ padding: 0 6px;
190
+ justify-content: center;
191
+ align-items: center;
192
+ /* #ifdef H5 */
193
+ cursor: pointer;
194
+ /* #endif */
195
+ }
196
+
197
+ .uni-navbar__header-btns-left {
198
+ /* #ifndef APP-NVUE */
199
+ display: flex;
200
+ /* #endif */
201
+ width: 150rpx;
202
+ justify-content: flex-start;
203
+ }
204
+
205
+ .uni-navbar__header-btns-right {
206
+ /* #ifndef APP-NVUE */
207
+ display: flex;
208
+ /* #endif */
209
+ width: 150rpx;
210
+ padding-right: 30rpx;
211
+ justify-content: flex-end;
212
+ }
213
+
214
+ .uni-navbar__header-container {
215
+ flex: 1;
216
+ }
217
+
218
+ .uni-navbar__header-container-inner {
219
+ /* #ifndef APP-NVUE */
220
+ display: flex;
221
+ /* #endif */
222
+ flex: 1;
223
+ align-items: center;
224
+ justify-content: center;
225
+ font-size: 14px;
226
+ }
227
+
228
+ .uni-navbar__placeholder-view {
229
+ height: 44px;
230
+ }
231
+
232
+ .uni-navbar--fixed {
233
+ position: fixed;
234
+ z-index: 998;
235
+ /* #ifdef H5 */
236
+ left: var(--window-left);
237
+ right: var(--window-right);
238
+ /* #endif */
239
+ /* #ifndef H5 */
240
+ left: 0;
241
+ right: 0;
242
+ /* #endif */
243
+ }
244
+
245
+ .uni-navbar--shadow {
246
+ /* #ifndef APP-NVUE */
247
+ box-shadow: 0 1px 6px #ccc;
248
+ /* #endif */
249
+ }
250
+
251
+ .uni-navbar--border {
252
+ border-bottom-width: 1rpx;
253
+ border-bottom-style: solid;
254
+ border-bottom-color: #e5e5e5;
255
+ }
256
+ </style>
@@ -80,7 +80,7 @@ export default {
80
80
  isViewPla: true
81
81
  };
82
82
  },
83
- created: function () {
83
+ created() {
84
84
  this._dealStyle();
85
85
  this._changeIsViewPla();
86
86
  },
@@ -96,7 +96,7 @@ export default {
96
96
  data() {
97
97
  return {};
98
98
  },
99
- created: function () {
99
+ created() {
100
100
  // console.log(this.$slots);
101
101
  },
102
102
  methods: {