@tdesign/uniapp 0.7.3 → 0.8.1

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 (258) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +44 -35
  3. package/dist/action-sheet/README.md +9 -4
  4. package/dist/action-sheet/action-sheet.vue +158 -150
  5. package/dist/action-sheet/props.ts +2 -2
  6. package/dist/action-sheet/type.ts +1 -1
  7. package/dist/avatar/README.md +3 -1
  8. package/dist/avatar/avatar.vue +89 -87
  9. package/dist/avatar-group/avatar-group.vue +69 -67
  10. package/dist/back-top/README.md +3 -1
  11. package/dist/back-top/back-top.vue +60 -58
  12. package/dist/badge/README.md +3 -1
  13. package/dist/badge/badge.vue +69 -59
  14. package/dist/button/README.md +3 -1
  15. package/dist/button/button.vue +121 -116
  16. package/dist/button/props.ts +2 -2
  17. package/dist/button/type.ts +1 -1
  18. package/dist/calendar/README.md +3 -1
  19. package/dist/calendar/calendar-header.vue +4 -4
  20. package/dist/calendar/calendar.vue +308 -297
  21. package/dist/calendar/template.vue +1 -1
  22. package/dist/cascader/README.en-US.md +2 -1
  23. package/dist/cascader/README.md +5 -2
  24. package/dist/cascader/cascader.vue +340 -328
  25. package/dist/cascader/props.ts +6 -1
  26. package/dist/cascader/type.ts +6 -0
  27. package/dist/cell/README.md +3 -1
  28. package/dist/cell/cell.vue +127 -121
  29. package/dist/cell-group/cell-group.vue +32 -30
  30. package/dist/check-tag/check-tag.vue +73 -71
  31. package/dist/checkbox/README.md +3 -1
  32. package/dist/checkbox/checkbox.vue +127 -127
  33. package/dist/checkbox/props.ts +6 -6
  34. package/dist/checkbox/type.ts +3 -3
  35. package/dist/checkbox-group/checkbox-group.vue +175 -173
  36. package/dist/checkbox-group/props.ts +6 -6
  37. package/dist/checkbox-group/type.ts +4 -4
  38. package/dist/col/README.md +3 -1
  39. package/dist/col/col.vue +26 -24
  40. package/dist/collapse/README.md +3 -1
  41. package/dist/collapse/collapse.vue +83 -81
  42. package/dist/collapse-panel/collapse-panel.vue +121 -119
  43. package/dist/collapse-panel/props.ts +4 -4
  44. package/dist/collapse-panel/type.ts +2 -2
  45. package/dist/color-picker/README.md +4 -2
  46. package/dist/color-picker/color-picker.vue +324 -322
  47. package/dist/color-picker/props.ts +2 -2
  48. package/dist/color-picker/template.vue +14 -10
  49. package/dist/common/common.ts +122 -5
  50. package/dist/common/src/index.js +0 -1
  51. package/dist/common/style/theme/index.css +5 -5
  52. package/dist/common/utils.js +7 -2
  53. package/dist/common/validator.ts +496 -0
  54. package/dist/config-provider/README.en-US.md +184 -0
  55. package/dist/config-provider/README.md +236 -0
  56. package/dist/config-provider/config-provider.vue +105 -0
  57. package/dist/config-provider/config-store.js +70 -0
  58. package/dist/config-provider/props.ts +16 -0
  59. package/dist/config-provider/reactive-state.js +39 -0
  60. package/dist/config-provider/type.ts +401 -0
  61. package/dist/config-provider/use-config.js +29 -0
  62. package/dist/config-provider/utils.js +29 -0
  63. package/dist/count-down/README.md +3 -1
  64. package/dist/count-down/count-down.vue +98 -97
  65. package/dist/date-time-picker/README.md +3 -1
  66. package/dist/date-time-picker/date-time-picker.vue +410 -395
  67. package/dist/demo/demo.vue +1 -0
  68. package/dist/dialog/README.md +3 -1
  69. package/dist/dialog/dialog.vue +175 -173
  70. package/dist/divider/README.md +3 -1
  71. package/dist/divider/divider.vue +38 -36
  72. package/dist/draggable/draggable.vue +60 -58
  73. package/dist/drawer/README.md +4 -2
  74. package/dist/drawer/drawer.vue +48 -46
  75. package/dist/dropdown-item/dropdown-item.vue +209 -207
  76. package/dist/dropdown-item/props.ts +4 -4
  77. package/dist/dropdown-item/type.ts +3 -3
  78. package/dist/dropdown-menu/README.md +2 -2
  79. package/dist/dropdown-menu/dropdown-menu.vue +93 -99
  80. package/dist/empty/README.md +3 -1
  81. package/dist/empty/empty.vue +43 -42
  82. package/dist/fab/README.md +3 -1
  83. package/dist/fab/fab.vue +88 -86
  84. package/dist/footer/README.md +3 -1
  85. package/dist/footer/footer.vue +36 -34
  86. package/dist/form/README.en-US.md +17 -24
  87. package/dist/form/README.md +21 -26
  88. package/dist/form/form.css +1 -166
  89. package/dist/form/form.vue +251 -236
  90. package/dist/form/props.ts +2 -21
  91. package/dist/form/type.ts +6 -69
  92. package/dist/form-item/README.en-US.md +4 -5
  93. package/dist/form-item/README.md +4 -5
  94. package/dist/form-item/form-item.css +72 -95
  95. package/dist/form-item/form-item.vue +315 -337
  96. package/dist/form-item/form-model.ts +125 -173
  97. package/dist/form-item/props.ts +4 -17
  98. package/dist/form-item/type.ts +43 -1
  99. package/dist/grid/README.md +3 -1
  100. package/dist/grid/grid.vue +53 -51
  101. package/dist/grid-item/grid-item.vue +121 -119
  102. package/dist/guide/README.md +4 -2
  103. package/dist/guide/guide.vue +281 -277
  104. package/dist/icon/README.md +12 -11
  105. package/dist/icon/icon.css +1633 -1624
  106. package/dist/icon/icon.vue +78 -76
  107. package/dist/image/README.md +4 -2
  108. package/dist/image/image.vue +103 -101
  109. package/dist/image-viewer/README.md +3 -1
  110. package/dist/image-viewer/image-viewer.vue +160 -158
  111. package/dist/image-viewer/props.ts +2 -2
  112. package/dist/image-viewer/type.ts +1 -1
  113. package/dist/index.js +16 -0
  114. package/dist/indexes/README.md +3 -1
  115. package/dist/indexes/indexes.vue +264 -267
  116. package/dist/indexes-anchor/indexes-anchor.vue +41 -41
  117. package/dist/input/README.md +3 -1
  118. package/dist/input/input.vue +172 -198
  119. package/dist/input/props.ts +6 -6
  120. package/dist/input/type.ts +3 -3
  121. package/dist/link/README.md +3 -1
  122. package/dist/link/link.vue +73 -71
  123. package/dist/loading/README.md +3 -1
  124. package/dist/loading/loading.vue +59 -59
  125. package/dist/locale/ar_KW.ts +157 -0
  126. package/dist/locale/en_US.ts +146 -0
  127. package/dist/locale/it_IT.ts +145 -0
  128. package/dist/locale/ja_JP.ts +132 -0
  129. package/dist/locale/ko_KR.ts +132 -0
  130. package/dist/locale/ru_RU.ts +157 -0
  131. package/dist/locale/zh_CN.ts +133 -0
  132. package/dist/locale/zh_TW.ts +132 -0
  133. package/dist/message/README.md +8 -3
  134. package/dist/message/message.vue +181 -173
  135. package/dist/message/props.ts +2 -2
  136. package/dist/message/type.ts +1 -1
  137. package/dist/message-item/message-item.vue +192 -184
  138. package/dist/mixins/page-scroll.d.ts +19 -0
  139. package/dist/mixins/skyline.js +1 -1
  140. package/dist/mixins/using-config.js +39 -0
  141. package/dist/navbar/README.md +3 -1
  142. package/dist/navbar/navbar.vue +201 -199
  143. package/dist/notice-bar/README.md +3 -1
  144. package/dist/notice-bar/notice-bar.vue +175 -171
  145. package/dist/notice-bar/props.ts +2 -2
  146. package/dist/notice-bar/type.ts +1 -1
  147. package/dist/npm/dayjs/esm/locale/ar.js +81 -0
  148. package/dist/npm/dayjs/esm/locale/it.js +39 -0
  149. package/dist/overlay/README.md +3 -1
  150. package/dist/overlay/overlay.vue +50 -48
  151. package/dist/picker/README.md +3 -1
  152. package/dist/picker/picker.vue +168 -161
  153. package/dist/picker-item/picker-item.vue +269 -269
  154. package/dist/popover/README.md +4 -2
  155. package/dist/popover/popover.vue +262 -261
  156. package/dist/popover/props.ts +4 -4
  157. package/dist/popover/type.ts +2 -2
  158. package/dist/popup/README.md +3 -1
  159. package/dist/popup/popup.vue +46 -45
  160. package/dist/progress/README.md +3 -3
  161. package/dist/progress/progress.vue +76 -76
  162. package/dist/pull-down-refresh/README.md +3 -1
  163. package/dist/pull-down-refresh/props.ts +2 -2
  164. package/dist/pull-down-refresh/pull-down-refresh.vue +240 -234
  165. package/dist/pull-down-refresh/type.ts +1 -1
  166. package/dist/qrcode/README.md +4 -2
  167. package/dist/qrcode/components/qrcode-canvas/qrcode-canvas.vue +340 -338
  168. package/dist/qrcode/components/qrcode-status/qrcode-status.vue +6 -6
  169. package/dist/qrcode/qrcode.vue +93 -87
  170. package/dist/radio/README.md +3 -1
  171. package/dist/radio/props.ts +6 -6
  172. package/dist/radio/radio.vue +118 -120
  173. package/dist/radio/type.ts +3 -3
  174. package/dist/radio-group/props.ts +4 -4
  175. package/dist/radio-group/radio-group.vue +136 -134
  176. package/dist/radio-group/type.ts +4 -4
  177. package/dist/rate/README.md +3 -1
  178. package/dist/rate/computed.js +2 -2
  179. package/dist/rate/props.ts +4 -4
  180. package/dist/rate/rate.css +1 -0
  181. package/dist/rate/rate.vue +155 -154
  182. package/dist/rate/type.ts +2 -2
  183. package/dist/result/README.md +3 -1
  184. package/dist/result/result.vue +41 -39
  185. package/dist/row/row.vue +38 -36
  186. package/dist/script/postinstall.js +49 -24
  187. package/dist/scroll-view/scroll-view.vue +24 -22
  188. package/dist/search/README.md +3 -1
  189. package/dist/search/props.ts +2 -2
  190. package/dist/search/search.vue +127 -125
  191. package/dist/search/type.ts +1 -1
  192. package/dist/side-bar/README.md +3 -1
  193. package/dist/side-bar/side-bar.vue +57 -55
  194. package/dist/side-bar-item/side-bar-item.vue +86 -86
  195. package/dist/skeleton/README.md +3 -1
  196. package/dist/skeleton/skeleton.vue +126 -124
  197. package/dist/slider/README.md +4 -2
  198. package/dist/slider/props.ts +2 -2
  199. package/dist/slider/slider.vue +457 -457
  200. package/dist/slider/type.ts +1 -1
  201. package/dist/step-item/step-item.vue +77 -75
  202. package/dist/stepper/README.md +3 -1
  203. package/dist/stepper/props.ts +2 -2
  204. package/dist/stepper/stepper.vue +168 -149
  205. package/dist/stepper/type.ts +1 -1
  206. package/dist/steps/README.md +3 -1
  207. package/dist/steps/props.ts +2 -2
  208. package/dist/steps/steps.vue +83 -81
  209. package/dist/steps/type.ts +1 -1
  210. package/dist/sticky/README.md +3 -1
  211. package/dist/sticky/sticky.vue +104 -102
  212. package/dist/swipe-cell/README.md +3 -1
  213. package/dist/swipe-cell/swipe-cell.vue +91 -89
  214. package/dist/swiper/README.md +4 -2
  215. package/dist/swiper/swiper.vue +91 -89
  216. package/dist/swiper-nav/swiper-nav.vue +38 -36
  217. package/dist/switch/README.md +3 -1
  218. package/dist/switch/props.ts +2 -2
  219. package/dist/switch/switch.vue +62 -62
  220. package/dist/switch/type.ts +1 -1
  221. package/dist/tab-bar/README.md +3 -1
  222. package/dist/tab-bar/tab-bar.vue +88 -86
  223. package/dist/tab-bar-item/tab-bar-item.vue +85 -82
  224. package/dist/tab-panel/tab-panel.vue +66 -64
  225. package/dist/tabs/README.md +3 -1
  226. package/dist/tabs/tabs.vue +294 -287
  227. package/dist/tag/README.md +3 -1
  228. package/dist/tag/tag.vue +79 -77
  229. package/dist/textarea/README.md +3 -1
  230. package/dist/textarea/props.ts +6 -6
  231. package/dist/textarea/textarea.vue +128 -151
  232. package/dist/textarea/type.ts +3 -3
  233. package/dist/theme.css +467 -0
  234. package/dist/theme.css.d.ts +2 -0
  235. package/dist/theme.less +1 -0
  236. package/dist/theme.less.d.ts +2 -0
  237. package/dist/toast/README.md +3 -1
  238. package/dist/toast/toast.vue +107 -106
  239. package/dist/transition/README.md +4 -6
  240. package/dist/transition/transition.vue +30 -28
  241. package/dist/tree-select/README.md +3 -1
  242. package/dist/tree-select/tree-select.vue +151 -151
  243. package/dist/types/config-provider.d.ts +7 -0
  244. package/dist/types/index.d.ts +17 -0
  245. package/dist/types/popover.d.ts +7 -0
  246. package/dist/upload/README.en-US.md +13 -14
  247. package/dist/upload/README.md +14 -13
  248. package/dist/upload/props.ts +2 -4
  249. package/dist/upload/type.ts +12 -11
  250. package/dist/upload/upload.css +1 -1
  251. package/dist/upload/upload.vue +672 -512
  252. package/dist/watermark/README.md +3 -1
  253. package/dist/watermark/watermark.vue +151 -149
  254. package/global.d.ts +2 -0
  255. package/package.json +51 -5
  256. package/dist/common/src/superComponent.js +0 -5
  257. package/dist/common/validator.js +0 -38
  258. package/dist/form/form-item-props.ts +0 -56
@@ -86,6 +86,7 @@ export default {
86
86
  default: false,
87
87
  },
88
88
  },
89
+
89
90
  data() {
90
91
  return {
91
92
 
@@ -8,7 +8,9 @@ isComponent: true
8
8
 
9
9
  ## 引入
10
10
 
11
- 可在 `main.ts` 或在需要使用的页面或组件中引入。
11
+ 推荐使用 easycom 模式引入组件,配置后无需手动 import 即可直接在模板中使用 `<t-dialog />`。详细配置请参考 [快速开始](../getting-started)。
12
+
13
+ 如需手动引入:
12
14
 
13
15
  ```js
14
16
  import TDialog from '@tdesign/uniapp/dialog/dialog.vue';
@@ -64,7 +64,7 @@
64
64
  <slot name="middle" />
65
65
  <view
66
66
  :class="
67
- tools.cls(classPrefix + '__footer', [
67
+ '' + tools.cls(classPrefix + '__footer', [
68
68
  ['column', dataButtonLayout === 'vertical'],
69
69
  ['full', buttonVariant == 'text' && (!dataActions || dataActions.length == 0)]
70
70
  ])
@@ -105,14 +105,14 @@
105
105
  :app-parameter="actionItem.appParameter"
106
106
  :show-message-card="actionItem.showMessageCard"
107
107
  :aria-label="actionItem.ariaLabel"
108
- @click="onTplButtonTap($event, { type: 'action', extra: index })"
109
- @getuserinfo="onTplButtonTap($event, { type: 'action', extra: index })"
110
- @contact="onTplButtonTap($event, { type: 'action', extra: index })"
111
- @getphonenumber="onTplButtonTap($event, { type: 'action', extra: index })"
112
- @error="onTplButtonTap($event, { type: 'action', extra: index })"
113
- @opensetting="onTplButtonTap($event, { type: 'action', extra: index })"
114
- @launchapp="onTplButtonTap($event, { type: 'action', extra: index })"
115
- @agreeprivacyauthorization="onTplButtonTap($event, { type: 'action', extra: index })"
108
+ @click="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
109
+ @getuserinfo="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
110
+ @contact="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
111
+ @getphonenumber="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
112
+ @error="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
113
+ @opensetting="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
114
+ @launchapp="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
115
+ @agreeprivacyauthorization="(e) => onTplButtonTap(e, { type: 'action', extra: index })"
116
116
  >
117
117
  <slot v-if="actionItem.useDefaultSlot || false" />
118
118
  </t-button>
@@ -151,14 +151,14 @@
151
151
  :app-parameter="innerCancel.appParameter"
152
152
  :show-message-card="innerCancel.showMessageCard"
153
153
  :aria-label="innerCancel.ariaLabel"
154
- @click="onCancel($event, { type: 'action', extra: 0 })"
155
- @getuserinfo="onCancel($event, { type: 'action', extra: 0 })"
156
- @contact="onCancel($event, { type: 'action', extra: 0 })"
157
- @getphonenumber="onCancel($event, { type: 'action', extra: 0 })"
158
- @error="onCancel($event, { type: 'action', extra: 0 })"
159
- @opensetting="onCancel($event, { type: 'action', extra: 0 })"
160
- @launchapp="onCancel($event, { type: 'action', extra: 0 })"
161
- @agreeprivacyauthorization="onCancel($event, { type: 'action', extra: 0 })"
154
+ @click="(e) => onCancel(e, { type: 'action', extra: 0 })"
155
+ @getuserinfo="(e) => onCancel(e, { type: 'action', extra: 0 })"
156
+ @contact="(e) => onCancel(e, { type: 'action', extra: 0 })"
157
+ @getphonenumber="(e) => onCancel(e, { type: 'action', extra: 0 })"
158
+ @error="(e) => onCancel(e, { type: 'action', extra: 0 })"
159
+ @opensetting="(e) => onCancel(e, { type: 'action', extra: 0 })"
160
+ @launchapp="(e) => onCancel(e, { type: 'action', extra: 0 })"
161
+ @agreeprivacyauthorization="(e) => onCancel(e, { type: 'action', extra: 0 })"
162
162
  >
163
163
  <slot v-if="innerCancel.useDefaultSlot || false" />
164
164
  </t-button>
@@ -197,14 +197,14 @@
197
197
  :app-parameter="innerConfirm.appParameter"
198
198
  :show-message-card="innerConfirm.showMessageCard"
199
199
  :aria-label="innerConfirm.ariaLabel"
200
- @click="onConfirm($event, { type: 'action', extra: 0 })"
201
- @getuserinfo="onConfirm($event, { type: 'action', extra: 0 })"
202
- @contact="onConfirm($event, { type: 'action', extra: 0 })"
203
- @getphonenumber="onConfirm($event, { type: 'action', extra: 0 })"
204
- @error="onTplButtonConfirmonTap($event, { type: 'action', extra: 0 })"
205
- @opensetting="onConfirm($event, { type: 'action', extra: 0 })"
206
- @launchapp="onConfirm($event, { type: 'action', extra: 0 })"
207
- @agreeprivacyauthorization="onConfirm($event, { type: 'action', extra: 0 })"
200
+ @click="(e) => onConfirm(e, { type: 'action', extra: 0 })"
201
+ @getuserinfo="(e) => onConfirm(e, { type: 'action', extra: 0 })"
202
+ @contact="(e) => onConfirm(e, { type: 'action', extra: 0 })"
203
+ @getphonenumber="(e) => onConfirm(e, { type: 'action', extra: 0 })"
204
+ @error="(e) => onTplButtonConfirmonTap(e, { type: 'action', extra: 0 })"
205
+ @opensetting="(e) => onConfirm(e, { type: 'action', extra: 0 })"
206
+ @launchapp="(e) => onConfirm(e, { type: 'action', extra: 0 })"
207
+ @agreeprivacyauthorization="(e) => onConfirm(e, { type: 'action', extra: 0 })"
208
208
  >
209
209
  <slot v-if="innerConfirm.useDefaultSlot || false" />
210
210
  </t-button>
@@ -233,189 +233,191 @@ import { canUseVirtualHost } from '../common/version';
233
233
  const name = `${prefix}-dialog`;
234
234
 
235
235
 
236
- export default uniComponent({
237
- name,
238
- options: {
239
- styleIsolation: 'shared',
240
- },
241
- externalClasses: [
242
- `${prefix}-class`,
243
- `${prefix}-class-content`,
244
- `${prefix}-class-confirm`,
245
- `${prefix}-class-cancel`,
246
- `${prefix}-class-action`,
247
- ],
248
- mixins: [getFunctionalMixin(props), useCustomNavbar],
236
+ export default {
249
237
  components: {
250
238
  TPopup,
251
239
  TIcon,
252
240
  TButton,
253
241
  },
254
- props: {
255
- ...props,
256
- },
257
- data() {
258
- return {
259
- prefix,
260
- classPrefix: name,
261
- buttonVariant: 'text',
262
- tools,
242
+ ...uniComponent({
243
+ name,
244
+ options: {
245
+ styleIsolation: 'shared',
246
+ },
247
+ externalClasses: [
248
+ `${prefix}-class`,
249
+ `${prefix}-class-content`,
250
+ `${prefix}-class-confirm`,
251
+ `${prefix}-class-cancel`,
252
+ `${prefix}-class-action`,
253
+ ],
254
+ mixins: [getFunctionalMixin(props), useCustomNavbar],
255
+ props: {
256
+ ...props,
257
+ },
258
+ data() {
259
+ return {
260
+ prefix,
261
+ classPrefix: name,
262
+ buttonVariant: 'text',
263
+ tools,
263
264
 
264
- innerConfirm: null,
265
- innerCancel: null,
266
- useVirtualHost: canUseVirtualHost(),
267
- };
268
- },
269
- watch: {
270
- dataConfirmBtn: {
271
- handler() {
272
- this.onWatchBtn(this.dataConfirmBtn, this.dataCancelBtn);
273
- },
274
- immediate: true,
265
+ innerConfirm: null,
266
+ innerCancel: null,
267
+ useVirtualHost: canUseVirtualHost(),
268
+ };
275
269
  },
276
- dataCancelBtn: {
277
- handler() {
278
- this.onWatchBtn(this.dataConfirmBtn, this.dataCancelBtn);
270
+ watch: {
271
+ dataConfirmBtn: {
272
+ handler() {
273
+ this.onWatchBtn(this.dataConfirmBtn, this.dataCancelBtn);
274
+ },
275
+ immediate: true,
276
+ },
277
+ dataCancelBtn: {
278
+ handler() {
279
+ this.onWatchBtn(this.dataConfirmBtn, this.dataCancelBtn);
280
+ },
281
+ immediate: true,
279
282
  },
280
- immediate: true,
281
283
  },
282
- },
283
- methods: {
284
- coalesce,
285
- getActionClass,
286
- onWatchBtn(confirm, cancel) {
287
- const { prefix, classPrefix, dataButtonLayout } = this;
288
- const rect = { buttonVariant: 'text' };
289
- const useBaseVariant = [confirm, cancel].some(item => isObject(item) && item.variant && item.variant !== 'text');
290
- const buttonMap = { confirm, cancel };
291
- const cls = [`${classPrefix}__button`];
292
- const externalCls = [];
284
+ methods: {
285
+ coalesce,
286
+ getActionClass,
287
+ onWatchBtn(confirm, cancel) {
288
+ const { prefix, classPrefix, dataButtonLayout } = this;
289
+ const rect = { buttonVariant: 'text' };
290
+ const useBaseVariant = [confirm, cancel].some(item => isObject(item) && item.variant && item.variant !== 'text');
291
+ const buttonMap = { confirm, cancel };
292
+ const cls = [`${classPrefix}__button`];
293
+ const externalCls = [];
293
294
 
294
- if (useBaseVariant) {
295
- rect.buttonVariant = 'base';
296
- cls.push(`${classPrefix}__button--${dataButtonLayout}`);
297
- } else {
298
- cls.push(`${classPrefix}__button--text`);
299
- externalCls.push(`${classPrefix}-button`);
300
- }
295
+ if (useBaseVariant) {
296
+ rect.buttonVariant = 'base';
297
+ cls.push(`${classPrefix}__button--${dataButtonLayout}`);
298
+ } else {
299
+ cls.push(`${classPrefix}__button--text`);
300
+ externalCls.push(`${classPrefix}-button`);
301
+ }
301
302
 
302
- const useVirtualHost = canUseVirtualHost();
303
+ const useVirtualHost = canUseVirtualHost();
303
304
 
304
- Object.keys(buttonMap).forEach((key) => {
305
- const btn = buttonMap[key];
306
- const rootClass = [...cls, `${classPrefix}__button--${key}`];
307
- const tClass = [...externalCls, this[toCamel(`${prefix}-class-${key}`)], ...rootClass].join(' ');
305
+ Object.keys(buttonMap).forEach((key) => {
306
+ const btn = buttonMap[key];
307
+ const rootClass = [...cls, `${classPrefix}__button--${key}`];
308
+ const tClass = [...externalCls, this[toCamel(`${prefix}-class-${key}`)], ...rootClass].join(' ');
308
309
 
309
- const base = {
310
- block: true,
311
- rootClass,
310
+ const base = {
311
+ block: true,
312
+ rootClass,
312
313
 
313
- tClass: useVirtualHost ? tClass : '',
314
- class: !useVirtualHost ? tClass : '',
314
+ tClass: useVirtualHost ? tClass : '',
315
+ class: !useVirtualHost ? tClass : '',
315
316
 
316
- variant: rect.buttonVariant,
317
- openType: '',
318
- };
317
+ variant: rect.buttonVariant,
318
+ openType: '',
319
+ };
319
320
 
320
- if (key === 'cancel' && rect.buttonVariant === 'base') {
321
- base.theme = 'light';
322
- }
323
- const parsedKey = `inner${toPascal(key)}`;
321
+ if (key === 'cancel' && rect.buttonVariant === 'base') {
322
+ base.theme = 'light';
323
+ }
324
+ const parsedKey = `inner${toPascal(key)}`;
324
325
 
325
- if (typeof btn === 'string') {
326
- rect[`${parsedKey}`] = { ...base, content: btn };
327
- } else if (btn && typeof btn === 'object') {
328
- rect[`${parsedKey}`] = { ...base, ...btn };
329
- } else {
330
- rect[`${parsedKey}`] = null;
331
- }
332
- });
326
+ if (typeof btn === 'string') {
327
+ rect[`${parsedKey}`] = { ...base, content: btn };
328
+ } else if (btn && typeof btn === 'object') {
329
+ rect[`${parsedKey}`] = { ...base, ...btn };
330
+ } else {
331
+ rect[`${parsedKey}`] = null;
332
+ }
333
+ });
333
334
 
334
- Object.keys(rect).forEach((key) => {
335
- this[key] = rect[key];
336
- });
337
- },
338
- onTplButtonTap(e, { type, extra }) {
339
- const evtType = e.type;
340
- const button = this[`_${type}`];
341
- const cbName = `bind${evtType}`;
335
+ Object.keys(rect).forEach((key) => {
336
+ this[key] = rect[key];
337
+ });
338
+ },
339
+ onTplButtonTap(e, { type, extra }) {
340
+ const evtType = e.type;
341
+ const button = this[`_${type}`];
342
+ const cbName = `bind${evtType}`;
342
343
 
343
- if (type === 'action') {
344
- this.onActionTap(extra);
345
- return;
346
- }
344
+ if (type === 'action') {
345
+ this.onActionTap(extra);
346
+ return;
347
+ }
347
348
 
348
- if (typeof button?.[cbName] === 'function') {
349
- const closeFlag = button[cbName](e);
350
- if (closeFlag) {
351
- this.close();
349
+ if (typeof button?.[cbName] === 'function') {
350
+ const closeFlag = button[cbName](e);
351
+ if (closeFlag) {
352
+ this.close();
353
+ }
352
354
  }
353
- }
354
355
 
355
- const hasOpenType = !!button?.openType;
356
- if (!hasOpenType && ['confirm', 'cancel'].includes(type)) {
357
- this[toCamel(`on-${type}`)]?.(type);
358
- }
356
+ const hasOpenType = !!button?.openType;
357
+ if (!hasOpenType && ['confirm', 'cancel'].includes(type)) {
358
+ this[toCamel(`on-${type}`)]?.(type);
359
+ }
359
360
 
360
- if (evtType !== 'click') {
361
- const success = e.detail?.errMsg?.indexOf('ok') > -1;
362
- this.$emit(success ? 'open-type-event' : 'open-type-error-event', e.detail);
363
- }
364
- },
361
+ if (evtType !== 'click') {
362
+ const success = e.detail?.errMsg?.indexOf('ok') > -1;
363
+ this.$emit(success ? 'open-type-event' : 'open-type-error-event', e.detail);
364
+ }
365
+ },
365
366
 
366
- onConfirm(e) {
367
- this.$emit('confirm', { e });
367
+ onConfirm(e) {
368
+ this.$emit('confirm', { e });
368
369
 
369
- if (this._onConfirm) {
370
- this._onConfirm({ trigger: 'confirm' });
371
- this.close();
372
- }
373
- },
370
+ if (this._onConfirm) {
371
+ this._onConfirm({ trigger: 'confirm' });
372
+ this.close();
373
+ }
374
+ },
374
375
 
375
- onCancel(e) {
376
- const trigger = { trigger: 'cancel' };
376
+ onCancel(e) {
377
+ const trigger = { trigger: 'cancel' };
377
378
 
378
- this.$emit('cancel', { e });
379
- this.$emit('close', trigger);
379
+ this.$emit('cancel', { e });
380
+ this.$emit('close', trigger);
380
381
 
381
- if (this._onCancel) {
382
- this._onCancel(trigger);
383
- this.close();
384
- }
385
- },
382
+ if (this._onCancel) {
383
+ this._onCancel(trigger);
384
+ this.close();
385
+ }
386
+ },
386
387
 
387
- onClose() {
388
- const trigger = { trigger: 'close-btn' };
388
+ onClose() {
389
+ const trigger = { trigger: 'close-btn' };
389
390
 
390
- this.$emit('close', trigger);
391
- this._onCancel?.(trigger);
392
- this.close();
393
- },
391
+ this.$emit('close', trigger);
392
+ this._onCancel?.(trigger);
393
+ this.close();
394
+ },
394
395
 
395
- close() {
396
- this.dataVisible = false;
397
- },
396
+ close() {
397
+ this.dataVisible = false;
398
+ },
398
399
 
399
- overlayClick(e) {
400
- this.$emit('overlay-click', { e });
400
+ overlayClick(e) {
401
+ this.$emit('overlay-click', { e });
401
402
 
402
- if (this.dataCloseOnOverlayClick) {
403
- const trigger = { trigger: 'overlay' };
403
+ if (this.dataCloseOnOverlayClick) {
404
+ const trigger = { trigger: 'overlay' };
404
405
 
405
- this.$emit('close', trigger);
406
- this._onCancel?.(trigger);
407
- this.close();
408
- }
409
- },
406
+ this.$emit('close', trigger);
407
+ this._onCancel?.(trigger);
408
+ this.close();
409
+ }
410
+ },
410
411
 
411
- onActionTap(index) {
412
- this.$emit('action', { index });
413
- if (this._onAction) {
414
- this._onAction({ index });
415
- this.close();
416
- }
412
+ onActionTap(index) {
413
+ this.$emit('action', { index });
414
+ if (this._onAction) {
415
+ this._onAction({ index });
416
+ this.close();
417
+ }
418
+ },
417
419
  },
418
- },
419
- });
420
+ }),
421
+ };
420
422
  </script>
421
423
  <style scoped src="./dialog.css"></style>
@@ -8,7 +8,9 @@ isComponent: true
8
8
 
9
9
  ## 引入
10
10
 
11
- 可在 `main.ts` 或在需要使用的页面或组件中引入。
11
+ 推荐使用 easycom 模式引入组件,配置后无需手动 import 即可直接在模板中使用 `<t-divider />`。详细配置请参考 [快速开始](../getting-started)。
12
+
13
+ 如需手动引入:
12
14
 
13
15
  ```js
14
16
  import TDivider from '@tdesign/uniapp/divider/divider.vue';
@@ -6,7 +6,7 @@
6
6
  tClass,
7
7
  classPrefix + '--' + layout + ' ' + classPrefix + '--' + align + ' ' + (dashed ? classPrefix + '--dashed' : '')
8
8
  ]"
9
- :style="tools._style([dividerStyle, customStyle])"
9
+ :style="'' + tools._style([dividerStyle, customStyle])"
10
10
  >
11
11
  <view
12
12
  :class="[
@@ -35,43 +35,45 @@ import tools from '../common/utils.wxs';
35
35
  const name = `${prefix}-divider`;
36
36
 
37
37
 
38
- export default uniComponent({
39
- name,
40
- options: {
41
- styleIsolation: 'shared',
42
- },
43
- externalClasses: [
44
- `${prefix}-class`,
45
- `${prefix}-class-content`,
46
- ],
47
- props: {
48
- ...props,
49
- },
50
- data() {
51
- return {
52
- prefix,
53
- classPrefix: name,
54
- tools,
55
- dividerStyle: '',
56
- };
57
- },
58
- watch: {
59
- lineColor: {
60
- handler() {
61
- this.setStyle();
38
+ export default {
39
+ ...uniComponent({
40
+ name,
41
+ options: {
42
+ styleIsolation: 'shared',
43
+ },
44
+ externalClasses: [
45
+ `${prefix}-class`,
46
+ `${prefix}-class-content`,
47
+ ],
48
+ props: {
49
+ ...props,
50
+ },
51
+ data() {
52
+ return {
53
+ prefix,
54
+ classPrefix: name,
55
+ tools,
56
+ dividerStyle: '',
57
+ };
58
+ },
59
+ watch: {
60
+ lineColor: {
61
+ handler() {
62
+ this.setStyle();
63
+ },
64
+ immediateU: true,
62
65
  },
63
- immediateU: true,
64
66
  },
65
- },
66
- methods: {
67
- setStyle() {
68
- const {
69
- lineColor,
70
- } = this;
71
- const dividerStyle = `${lineColor ? `border-color: ${lineColor};` : ''}`;
72
- this.dividerStyle = dividerStyle;
67
+ methods: {
68
+ setStyle() {
69
+ const {
70
+ lineColor,
71
+ } = this;
72
+ const dividerStyle = `${lineColor ? `border-color: ${lineColor};` : ''}`;
73
+ this.dividerStyle = dividerStyle;
74
+ },
73
75
  },
74
- },
75
- });
76
+ }),
77
+ };
76
78
  </script>
77
79
  <style scoped src="./divider.css"></style>