@tdesign/uniapp 0.7.2 → 0.8.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 (199) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +32 -2
  3. package/dist/action-sheet/README.md +1 -1
  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/avatar.vue +89 -87
  8. package/dist/avatar-group/avatar-group.vue +69 -67
  9. package/dist/back-top/back-top.vue +60 -58
  10. package/dist/badge/badge.vue +69 -59
  11. package/dist/button/button.vue +121 -116
  12. package/dist/button/props.ts +2 -2
  13. package/dist/button/type.ts +1 -1
  14. package/dist/calendar/calendar-header.vue +4 -4
  15. package/dist/calendar/calendar.vue +308 -297
  16. package/dist/calendar/template.vue +1 -1
  17. package/dist/cascader/README.en-US.md +2 -1
  18. package/dist/cascader/README.md +2 -1
  19. package/dist/cascader/cascader.vue +340 -328
  20. package/dist/cascader/props.ts +6 -1
  21. package/dist/cascader/type.ts +6 -0
  22. package/dist/cell/cell.vue +127 -121
  23. package/dist/cell-group/cell-group.vue +32 -30
  24. package/dist/check-tag/check-tag.vue +73 -71
  25. package/dist/checkbox/README.en-US.md +6 -6
  26. package/dist/checkbox/README.md +5 -5
  27. package/dist/checkbox/checkbox.vue +127 -127
  28. package/dist/checkbox/props.ts +6 -6
  29. package/dist/checkbox/type.ts +6 -4
  30. package/dist/checkbox-group/checkbox-group.vue +175 -173
  31. package/dist/checkbox-group/props.ts +6 -6
  32. package/dist/checkbox-group/type.ts +6 -4
  33. package/dist/col/col.vue +26 -24
  34. package/dist/collapse/collapse.vue +83 -81
  35. package/dist/collapse-panel/collapse-panel.vue +121 -119
  36. package/dist/collapse-panel/props.ts +4 -4
  37. package/dist/collapse-panel/type.ts +2 -2
  38. package/dist/color-picker/README.md +1 -1
  39. package/dist/color-picker/color-picker.vue +324 -322
  40. package/dist/color-picker/props.ts +2 -2
  41. package/dist/color-picker/template.vue +14 -10
  42. package/dist/common/common.ts +1 -0
  43. package/dist/common/style/theme/index.css +57 -61
  44. package/dist/common/utils.js +7 -2
  45. package/dist/common/validator.js +172 -0
  46. package/dist/config-provider/README.en-US.md +184 -0
  47. package/dist/config-provider/README.md +234 -0
  48. package/dist/config-provider/config-provider.vue +105 -0
  49. package/dist/config-provider/config-store.js +70 -0
  50. package/dist/config-provider/props.ts +16 -0
  51. package/dist/config-provider/reactive-state.js +39 -0
  52. package/dist/config-provider/type.ts +401 -0
  53. package/dist/config-provider/use-config.js +29 -0
  54. package/dist/config-provider/utils.js +29 -0
  55. package/dist/count-down/count-down.vue +98 -97
  56. package/dist/date-time-picker/date-time-picker.vue +410 -395
  57. package/dist/demo/demo.vue +1 -0
  58. package/dist/dialog/dialog.vue +176 -173
  59. package/dist/divider/divider.vue +38 -36
  60. package/dist/draggable/draggable.vue +60 -58
  61. package/dist/drawer/README.md +1 -1
  62. package/dist/drawer/drawer.vue +48 -46
  63. package/dist/dropdown-item/dropdown-item.vue +209 -207
  64. package/dist/dropdown-item/props.ts +4 -4
  65. package/dist/dropdown-item/type.ts +3 -3
  66. package/dist/dropdown-menu/dropdown-menu.vue +93 -99
  67. package/dist/empty/empty.vue +43 -42
  68. package/dist/fab/fab.vue +88 -86
  69. package/dist/footer/footer.vue +36 -34
  70. package/dist/form/README.en-US.md +17 -24
  71. package/dist/form/README.md +18 -25
  72. package/dist/form/form.css +1 -166
  73. package/dist/form/form.vue +251 -236
  74. package/dist/form/props.ts +2 -21
  75. package/dist/form/type.ts +7 -70
  76. package/dist/form-item/README.en-US.md +4 -5
  77. package/dist/form-item/README.md +4 -5
  78. package/dist/form-item/form-item.css +69 -96
  79. package/dist/form-item/form-item.vue +315 -336
  80. package/dist/form-item/form-model.ts +125 -173
  81. package/dist/form-item/props.ts +4 -17
  82. package/dist/form-item/type.ts +43 -1
  83. package/dist/grid/grid.vue +53 -51
  84. package/dist/grid-item/grid-item.vue +121 -119
  85. package/dist/guide/README.md +1 -1
  86. package/dist/guide/guide.vue +281 -277
  87. package/dist/icon/README.md +2 -4
  88. package/dist/icon/icon.vue +78 -76
  89. package/dist/image/README.md +1 -1
  90. package/dist/image/image.vue +103 -101
  91. package/dist/image-viewer/image-viewer.vue +160 -158
  92. package/dist/image-viewer/props.ts +2 -2
  93. package/dist/image-viewer/type.ts +1 -1
  94. package/dist/index.js +3 -0
  95. package/dist/indexes/indexes.vue +264 -267
  96. package/dist/indexes-anchor/indexes-anchor.vue +41 -41
  97. package/dist/input/input.vue +192 -192
  98. package/dist/input/props.ts +6 -6
  99. package/dist/input/type.ts +3 -3
  100. package/dist/link/link.vue +73 -71
  101. package/dist/loading/loading.vue +59 -59
  102. package/dist/locale/ar_KW.ts +157 -0
  103. package/dist/locale/en_US.ts +146 -0
  104. package/dist/locale/it_IT.ts +145 -0
  105. package/dist/locale/ja_JP.ts +132 -0
  106. package/dist/locale/ko_KR.ts +132 -0
  107. package/dist/locale/ru_RU.ts +157 -0
  108. package/dist/locale/zh_CN.ts +133 -0
  109. package/dist/locale/zh_TW.ts +132 -0
  110. package/dist/message/message.vue +181 -173
  111. package/dist/message/props.ts +2 -2
  112. package/dist/message/type.ts +1 -1
  113. package/dist/message-item/message-item.vue +192 -184
  114. package/dist/mixins/using-config.js +39 -0
  115. package/dist/navbar/navbar.vue +201 -199
  116. package/dist/notice-bar/notice-bar.vue +175 -171
  117. package/dist/notice-bar/props.ts +2 -2
  118. package/dist/notice-bar/type.ts +1 -1
  119. package/dist/npm/dayjs/esm/locale/ar.js +81 -0
  120. package/dist/npm/dayjs/esm/locale/it.js +39 -0
  121. package/dist/overlay/overlay.vue +50 -48
  122. package/dist/picker/picker.vue +168 -161
  123. package/dist/picker-item/picker-item.vue +269 -269
  124. package/dist/popover/README.md +1 -1
  125. package/dist/popover/popover.vue +262 -261
  126. package/dist/popover/props.ts +4 -4
  127. package/dist/popover/type.ts +2 -2
  128. package/dist/popup/popup.vue +46 -45
  129. package/dist/progress/README.md +1 -1
  130. package/dist/progress/progress.vue +76 -76
  131. package/dist/pull-down-refresh/props.ts +2 -2
  132. package/dist/pull-down-refresh/pull-down-refresh.vue +240 -234
  133. package/dist/pull-down-refresh/type.ts +1 -1
  134. package/dist/qrcode/README.md +1 -1
  135. package/dist/qrcode/components/qrcode-canvas/qrcode-canvas.vue +340 -338
  136. package/dist/qrcode/components/qrcode-status/qrcode-status.vue +6 -6
  137. package/dist/qrcode/qrcode.vue +93 -87
  138. package/dist/radio/props.ts +6 -6
  139. package/dist/radio/radio.vue +118 -120
  140. package/dist/radio/type.ts +3 -3
  141. package/dist/radio-group/props.ts +4 -4
  142. package/dist/radio-group/radio-group.vue +136 -134
  143. package/dist/radio-group/type.ts +4 -4
  144. package/dist/rate/computed.js +2 -2
  145. package/dist/rate/props.ts +4 -4
  146. package/dist/rate/rate.vue +155 -154
  147. package/dist/rate/type.ts +2 -2
  148. package/dist/result/result.vue +41 -39
  149. package/dist/row/row.vue +38 -36
  150. package/dist/scroll-view/scroll-view.vue +24 -22
  151. package/dist/search/props.ts +2 -2
  152. package/dist/search/search.vue +127 -125
  153. package/dist/search/type.ts +1 -1
  154. package/dist/side-bar/side-bar.vue +57 -55
  155. package/dist/side-bar-item/side-bar-item.vue +86 -86
  156. package/dist/skeleton/skeleton.vue +126 -124
  157. package/dist/slider/README.md +1 -1
  158. package/dist/slider/props.ts +2 -2
  159. package/dist/slider/slider.vue +457 -457
  160. package/dist/slider/type.ts +1 -1
  161. package/dist/step-item/step-item.vue +77 -75
  162. package/dist/stepper/props.ts +2 -2
  163. package/dist/stepper/stepper.vue +168 -149
  164. package/dist/stepper/type.ts +1 -1
  165. package/dist/steps/props.ts +2 -2
  166. package/dist/steps/steps.vue +83 -81
  167. package/dist/steps/type.ts +1 -1
  168. package/dist/sticky/sticky.vue +104 -102
  169. package/dist/swipe-cell/swipe-cell.vue +91 -89
  170. package/dist/swiper/README.md +1 -1
  171. package/dist/swiper/swiper.vue +91 -89
  172. package/dist/swiper-nav/swiper-nav.vue +38 -36
  173. package/dist/switch/props.ts +2 -2
  174. package/dist/switch/switch.vue +62 -62
  175. package/dist/switch/type.ts +1 -1
  176. package/dist/tab-bar/tab-bar.vue +88 -86
  177. package/dist/tab-bar-item/tab-bar-item.vue +85 -82
  178. package/dist/tab-panel/tab-panel.vue +66 -64
  179. package/dist/tabs/tabs.vue +294 -287
  180. package/dist/tag/tag.vue +79 -77
  181. package/dist/textarea/props.ts +6 -6
  182. package/dist/textarea/textarea.vue +127 -126
  183. package/dist/textarea/type.ts +3 -3
  184. package/dist/toast/toast.vue +107 -106
  185. package/dist/transition/transition.vue +30 -28
  186. package/dist/tree-select/tree-select.vue +151 -151
  187. package/dist/types/config-provider.d.ts +7 -0
  188. package/dist/types/index.d.ts +2 -0
  189. package/dist/types/popover.d.ts +7 -0
  190. package/dist/upload/README.en-US.md +13 -14
  191. package/dist/upload/README.md +11 -12
  192. package/dist/upload/props.ts +2 -4
  193. package/dist/upload/type.ts +12 -11
  194. package/dist/upload/upload.css +1 -1
  195. package/dist/upload/upload.vue +672 -512
  196. package/dist/watermark/watermark.vue +151 -149
  197. package/global.d.ts +2 -0
  198. package/package.json +16 -2
  199. package/dist/form/form-item-props.ts +0 -56
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <view
3
- :style="tools._style([customStyle])"
4
- :class="tools.cls(classPrefix, [layout, ['readonly', readonly], sequence]) + ' ' + tClass"
3
+ :style="'' + tools._style([customStyle])"
4
+ :class="'' + tools.cls(classPrefix, [layout, ['readonly', readonly], sequence]) + ' ' + tClass"
5
5
  >
6
6
  <slot />
7
7
  </view>
@@ -17,98 +17,100 @@ import { ParentMixin, RELATION_MAP } from '../common/relation';
17
17
  const name = `${prefix}-steps`;
18
18
 
19
19
 
20
- export default uniComponent({
21
- name,
22
- options: {
23
- styleIsolation: 'shared',
24
- },
25
- controlledProps: [
26
- {
27
- key: 'current',
28
- event: 'change',
20
+ export default {
21
+ ...uniComponent({
22
+ name,
23
+ options: {
24
+ styleIsolation: 'shared',
29
25
  },
30
- ],
31
- externalClasses: [
32
- `${prefix}-class`,
33
- ],
34
- mixins: [ParentMixin(RELATION_MAP.StepItem)],
35
- props: {
36
- ...props,
37
- },
38
- data() {
39
- return {
40
- prefix,
41
- classPrefix: name,
42
- tools,
43
-
44
- dataCurrent: this.current,
45
- };
46
- },
47
- watch: {
48
- current: {
49
- handler(v) {
50
- this.dataCurrent = v;
26
+ controlledProps: [
27
+ {
28
+ key: 'current',
29
+ event: 'change',
51
30
  },
52
- immediate: true,
31
+ ],
32
+ externalClasses: [
33
+ `${prefix}-class`,
34
+ ],
35
+ mixins: [ParentMixin(RELATION_MAP.StepItem)],
36
+ props: {
37
+ ...props,
53
38
  },
54
- dataCurrent: {
55
- handler() {
56
- this.updateChildren();
39
+ data() {
40
+ return {
41
+ prefix,
42
+ classPrefix: name,
43
+ tools,
44
+
45
+ dataCurrent: this.current,
46
+ };
47
+ },
48
+ watch: {
49
+ current: {
50
+ handler(v) {
51
+ this.dataCurrent = v;
52
+ },
53
+ immediate: true,
54
+ },
55
+ dataCurrent: {
56
+ handler() {
57
+ this.updateChildren();
58
+ },
59
+ immediate: true,
57
60
  },
58
- immediate: true,
61
+ theme: 'updateChildren',
62
+ sequence: 'updateChildren',
59
63
  },
60
- theme: 'updateChildren',
61
- sequence: 'updateChildren',
62
- },
63
- mounted() {
64
+ mounted() {
64
65
 
65
- },
66
- methods: {
67
- innerAfterLinked(child) {
68
- this.updateChildren();
66
+ },
67
+ methods: {
68
+ innerAfterLinked(child) {
69
+ this.updateChildren();
69
70
 
70
- const { readonly } = this;
71
+ const { readonly } = this;
71
72
 
72
- child.readonly = readonly;
73
- },
74
- innerAfterUnlinked() {
75
- this.updateLastChid();
76
- },
77
- updateChildren() {
78
- const items = this.children;
79
- const {
80
- dataCurrent, currentStatus, theme, layout, sequence,
81
- } = this;
73
+ child.readonly = readonly;
74
+ },
75
+ innerAfterUnlinked() {
76
+ this.updateLastChid();
77
+ },
78
+ updateChildren() {
79
+ const items = this.children;
80
+ const {
81
+ dataCurrent, currentStatus, theme, layout, sequence,
82
+ } = this;
82
83
 
83
- items?.forEach((item, index) => {
84
- item.updateStatus({
85
- index,
86
- items,
84
+ items?.forEach((item, index) => {
85
+ item.updateStatus({
86
+ index,
87
+ items,
87
88
 
88
- current: dataCurrent,
89
- currentStatus,
90
- theme,
91
- layout,
92
- sequence,
89
+ current: dataCurrent,
90
+ currentStatus,
91
+ theme,
92
+ layout,
93
+ sequence,
94
+ });
93
95
  });
94
- });
95
- },
96
- updateLastChid() {
97
- const items = this.children;
96
+ },
97
+ updateLastChid() {
98
+ const items = this.children;
98
99
 
99
- items.forEach((child, index) => child.isLastChild = index === items.length - 1);
100
- },
101
- handleClick(index) {
102
- if (!this.readonly) {
103
- const preIndex = this.dataCurrent;
104
- this._trigger('change', {
105
- previous: preIndex,
106
- current: index,
107
- });
108
- }
100
+ items.forEach((child, index) => child.isLastChild = index === items.length - 1);
101
+ },
102
+ handleClick(index) {
103
+ if (!this.readonly) {
104
+ const preIndex = this.dataCurrent;
105
+ this._trigger('change', {
106
+ previous: preIndex,
107
+ current: index,
108
+ });
109
+ }
110
+ },
109
111
  },
110
- },
111
- });
112
+ }),
113
+ };
112
114
  </script>
113
115
  <style scoped src="./steps.css"></style>
114
116
  <style scoped>
@@ -26,7 +26,7 @@ export interface TdStepsProps {
26
26
  /**
27
27
  * 只读状态
28
28
  */
29
- readonly?: boolean;
29
+ readonly?: boolean | null;
30
30
  /**
31
31
  * 步骤条顺序
32
32
  * @default positive
@@ -1,11 +1,11 @@
1
1
  <template>
2
2
  <view
3
3
  :class="classPrefix + ' ' + tClass"
4
- :style="tools._style(['z-index:' + zIndex, containerStyle, customStyle])"
4
+ :style="'' + tools._style(['z-index:' + zIndex, containerStyle, customStyle])"
5
5
  >
6
6
  <view
7
7
  :class="classPrefix + '__content ' + tClassContent"
8
- :style="tools._style(['z-index:' + zIndex, contentStyle])"
8
+ :style="'' + tools._style(['z-index:' + zIndex, contentStyle])"
9
9
  >
10
10
  <slot />
11
11
  </view>
@@ -24,119 +24,121 @@ const name = `${prefix}-sticky`;
24
24
  const ContainerClass = `.${name}`;
25
25
 
26
26
 
27
- export default uniComponent({
28
- name,
29
- options: {
30
- styleIsolation: 'shared',
31
- },
32
- externalClasses: [
33
- `${prefix}-class`,
34
- `${prefix}-class-content`,
35
- ],
36
- mixins: [pageScrollMixin()],
37
- props: {
38
- ...props,
39
- },
40
- data() {
41
- return {
42
- prefix,
43
- classPrefix: name,
44
- containerStyle: '',
45
- contentStyle: '',
46
- tools,
47
- };
48
- },
49
- watch: {
50
- offsetTop: 'onScroll',
51
- disabled: 'onScroll',
52
- container: 'onScroll',
53
- },
54
- mounted() {
55
- this.onScroll();
56
- },
57
- methods: {
58
- onScroll(event) {
59
- const { scrollTop } = event || {};
60
- const { container, offsetTop, disabled } = this;
27
+ export default {
28
+ ...uniComponent({
29
+ name,
30
+ options: {
31
+ styleIsolation: 'shared',
32
+ },
33
+ externalClasses: [
34
+ `${prefix}-class`,
35
+ `${prefix}-class-content`,
36
+ ],
37
+ mixins: [pageScrollMixin()],
38
+ props: {
39
+ ...props,
40
+ },
41
+ data() {
42
+ return {
43
+ prefix,
44
+ classPrefix: name,
45
+ containerStyle: '',
46
+ contentStyle: '',
47
+ tools,
48
+ };
49
+ },
50
+ watch: {
51
+ offsetTop: 'onScroll',
52
+ disabled: 'onScroll',
53
+ container: 'onScroll',
54
+ },
55
+ mounted() {
56
+ this.onScroll();
57
+ },
58
+ methods: {
59
+ onScroll(event) {
60
+ const { scrollTop } = event || {};
61
+ const { container, offsetTop, disabled } = this;
61
62
 
62
- if (disabled) {
63
- this.setDataAfterDiff({
64
- isFixed: false,
65
- transform: 0,
66
- });
67
- return;
68
- }
63
+ if (disabled) {
64
+ this.setDataAfterDiff({
65
+ isFixed: false,
66
+ transform: 0,
67
+ });
68
+ return;
69
+ }
70
+
71
+ this.scrollTop = scrollTop || this.scrollTop;
69
72
 
70
- this.scrollTop = scrollTop || this.scrollTop;
73
+ if (typeof container === 'function') {
74
+ Promise.all([getRect(this, ContainerClass), this.getContainerRect()]).then(([root, container]) => {
75
+ if (!root || !container) return;
76
+ if (offsetTop + root.height > container.height + container.top) {
77
+ this.setDataAfterDiff({
78
+ isFixed: false,
79
+ transform: container.height - root.height,
80
+ });
81
+ } else if (offsetTop >= root.top) {
82
+ this.setDataAfterDiff({
83
+ isFixed: true,
84
+ height: root.height,
85
+ transform: 0,
86
+ });
87
+ } else {
88
+ this.setDataAfterDiff({ isFixed: false, transform: 0 });
89
+ }
90
+ });
71
91
 
72
- if (typeof container === 'function') {
73
- Promise.all([getRect(this, ContainerClass), this.getContainerRect()]).then(([root, container]) => {
74
- if (!root || !container) return;
75
- if (offsetTop + root.height > container.height + container.top) {
76
- this.setDataAfterDiff({
77
- isFixed: false,
78
- transform: container.height - root.height,
79
- });
80
- } else if (offsetTop >= root.top) {
81
- this.setDataAfterDiff({
82
- isFixed: true,
83
- height: root.height,
84
- transform: 0,
85
- });
92
+ return;
93
+ }
94
+
95
+ getRect(this, ContainerClass).then((root) => {
96
+ if (!root) return;
97
+ if (offsetTop >= root.top) {
98
+ this.setDataAfterDiff({ isFixed: true, height: root.height });
99
+ this.transform = 0;
86
100
  } else {
87
- this.setDataAfterDiff({ isFixed: false, transform: 0 });
101
+ this.setDataAfterDiff({ isFixed: false });
88
102
  }
89
103
  });
104
+ },
90
105
 
91
- return;
92
- }
106
+ setDataAfterDiff(data) {
107
+ const { offsetTop } = this;
108
+ const { containerStyle: prevContainerStyle, contentStyle: prevContentStyle } = this;
109
+ const { isFixed, height, transform } = data;
110
+ nextTick().then(() => {
111
+ let containerStyle = '';
112
+ let contentStyle = '';
93
113
 
94
- getRect(this, ContainerClass).then((root) => {
95
- if (!root) return;
96
- if (offsetTop >= root.top) {
97
- this.setDataAfterDiff({ isFixed: true, height: root.height });
98
- this.transform = 0;
99
- } else {
100
- this.setDataAfterDiff({ isFixed: false });
101
- }
102
- });
103
- },
104
-
105
- setDataAfterDiff(data) {
106
- const { offsetTop } = this;
107
- const { containerStyle: prevContainerStyle, contentStyle: prevContentStyle } = this;
108
- const { isFixed, height, transform } = data;
109
- nextTick().then(() => {
110
- let containerStyle = '';
111
- let contentStyle = '';
112
-
113
- if (isFixed) {
114
- containerStyle += `height:${height}px;`;
115
- contentStyle += `position:fixed;top:${offsetTop}px;left:0;right:0;`;
116
- }
117
- if (transform) {
118
- const translate = `translate3d(0, ${transform}px, 0)`;
119
- contentStyle += `-webkit-transform:${translate};transform:${translate};`;
120
- }
114
+ if (isFixed) {
115
+ containerStyle += `height:${height}px;`;
116
+ contentStyle += `position:fixed;top:${offsetTop}px;left:0;right:0;`;
117
+ }
118
+ if (transform) {
119
+ const translate = `translate3d(0, ${transform}px, 0)`;
120
+ contentStyle += `-webkit-transform:${translate};transform:${translate};`;
121
+ }
121
122
 
122
- if (prevContainerStyle !== containerStyle || prevContentStyle !== contentStyle) {
123
- this.containerStyle = containerStyle;
124
- this.contentStyle = contentStyle;
125
- }
123
+ if (prevContainerStyle !== containerStyle || prevContentStyle !== contentStyle) {
124
+ this.containerStyle = containerStyle;
125
+ this.contentStyle = contentStyle;
126
+ }
126
127
 
127
- this.$emit('scroll', {
128
- scrollTop: this.scrollTop,
129
- isFixed,
128
+ this.$emit('scroll', {
129
+ scrollTop: this.scrollTop,
130
+ isFixed,
131
+ });
130
132
  });
131
- });
132
- },
133
+ },
133
134
 
134
- getContainerRect() {
135
- const nodesRef = this.container();
136
- return new Promise(resolve => nodesRef.boundingClientRect(resolve).exec());
135
+ getContainerRect() {
136
+ const nodesRef = this.container();
137
+ return new Promise(resolve => nodesRef.boundingClientRect(resolve).exec());
138
+ },
137
139
  },
138
- },
139
- });
140
+ }),
141
+ };
140
142
 
141
143
  </script>
142
144
  <style scoped src="./sticky.css"></style>
@@ -1,16 +1,16 @@
1
1
  <template>
2
2
  <view
3
3
  :class="tClass + ' ' + classPrefix"
4
- :style="tools._style([customStyle])"
4
+ :style="'' + tools._style([customStyle])"
5
5
  data-key="cell"
6
6
  :opened="state.opened"
7
7
  :left-width="state.leftWidth"
8
8
  :right-width="state.rightWidth"
9
9
  @click="onTap"
10
- @touchstart="parseEventDynamicCode($event, disabled || 'startDrag')"
11
- @touchmove="parseEventDynamicCode($event, skipMove ? '' : disabled || 'onDrag')"
12
- @touchend="parseEventDynamicCode($event, skipMove ? '' : disabled || 'endDrag')"
13
- @touchcancel="parseEventDynamicCode($event, disabled || 'endDrag')"
10
+ @touchstart="(e) => parseEventDynamicCode(e, disabled || 'startDrag')"
11
+ @touchmove="(e) => parseEventDynamicCode(e, skipMove ? '' : disabled || 'onDrag')"
12
+ @touchend="(e) => parseEventDynamicCode(e, skipMove ? '' : disabled || 'endDrag')"
13
+ @touchcancel="(e) => parseEventDynamicCode(e, disabled || 'endDrag')"
14
14
  >
15
15
  <view
16
16
  id="wrapper"
@@ -140,103 +140,105 @@ const makeMethods = () => [
140
140
  }, {});
141
141
 
142
142
 
143
- export default uniComponent({
144
- name,
145
- options: {
146
- styleIsolation: 'shared',
147
- },
148
- externalClasses: [
149
- `${prefix}-class`,
150
- ],
143
+ export default {
151
144
  components: {
152
145
  TIcon,
153
146
  },
154
- props: {
155
- ...props,
156
- },
157
- emits: ['click', 'dragend', 'dragstart'],
158
- data() {
159
- return {
160
- prefix,
161
- wrapperStyle: '',
162
- closed: true,
163
- classPrefix: name,
164
- skipMove: false,
165
- tools,
166
-
167
- state: {
168
- leftWidth: 0,
169
- rightWidth: 0,
170
- offset: 0,
171
- startOffset: 0,
172
- opened: this.opened,
173
- },
174
- };
175
- },
176
- watch: {
177
- left: 'setSwipeWidth',
178
- right: 'setSwipeWidth',
179
- 'state.leftWidth': 'initLeftWidth',
180
- 'state.rightWidth': 'initRightWidth',
181
- 'state.opened': 'onOpenedChange',
182
- opened: {
183
- handler(v) {
184
- this.state.opened = v;
147
+ ...uniComponent({
148
+ name,
149
+ options: {
150
+ styleIsolation: 'shared',
151
+ },
152
+ externalClasses: [
153
+ `${prefix}-class`,
154
+ ],
155
+ props: {
156
+ ...props,
157
+ },
158
+ emits: ['click', 'dragend', 'dragstart'],
159
+ data() {
160
+ return {
161
+ prefix,
162
+ wrapperStyle: '',
163
+ closed: true,
164
+ classPrefix: name,
165
+ skipMove: false,
166
+ tools,
167
+
168
+ state: {
169
+ leftWidth: 0,
170
+ rightWidth: 0,
171
+ offset: 0,
172
+ startOffset: 0,
173
+ opened: this.opened,
174
+ },
175
+ };
176
+ },
177
+ watch: {
178
+ left: 'setSwipeWidth',
179
+ right: 'setSwipeWidth',
180
+ 'state.leftWidth': 'initLeftWidth',
181
+ 'state.rightWidth': 'initRightWidth',
182
+ 'state.opened': 'onOpenedChange',
183
+ opened: {
184
+ handler(v) {
185
+ this.state.opened = v;
186
+ },
187
+ immediate: true,
185
188
  },
186
- immediate: true,
187
189
  },
188
- },
189
- mounted() {
190
- ARRAY.push(this);
191
- this.setSwipeWidth();
192
- },
193
- beforeUnmount() {
194
- ARRAY = ARRAY.filter(e => e !== this);
195
- },
196
- methods: {
197
- ...makeMethods(),
198
- parseEventDynamicCode,
199
- setSwipeWidth() {
200
- Promise.all([getRect(this, `${ContainerClass}__left`), getRect(this, `${ContainerClass}__right`)]).then(([leftRect, rightRect]) => {
201
- if (leftRect.width === 0 && rightRect.width === 0 && !this._hasObserved) {
202
- this._hasObserved = true;
203
- getObserver(this, `.${name}`).then(() => {
204
- this.setSwipeWidth();
205
- });
206
- }
207
- this.state.leftWidth = leftRect.width;
208
- this.state.rightWidth = rightRect.width;
209
- });
190
+ mounted() {
191
+ ARRAY.push(this);
192
+ this.setSwipeWidth();
210
193
  },
211
-
212
- onSkipMove() {
213
- this.skipMove = true;
194
+ beforeUnmount() {
195
+ ARRAY = ARRAY.filter(e => e !== this);
214
196
  },
197
+ methods: {
198
+ ...makeMethods(),
199
+ parseEventDynamicCode,
200
+ setSwipeWidth() {
201
+ Promise.all([getRect(this, `${ContainerClass}__left`), getRect(this, `${ContainerClass}__right`)]).then(([leftRect, rightRect]) => {
202
+ if (leftRect.width === 0 && rightRect.width === 0 && !this._hasObserved) {
203
+ this._hasObserved = true;
204
+ getObserver(this, `.${name}`).then(() => {
205
+ this.setSwipeWidth();
206
+ });
207
+ }
208
+ this.state.leftWidth = leftRect.width;
209
+ this.state.rightWidth = rightRect.width;
210
+ });
211
+ },
215
212
 
216
- catchMove() {
217
- this.skipMove = false;
218
- },
213
+ onSkipMove() {
214
+ this.skipMove = true;
215
+ },
219
216
 
220
- open() {
221
- this.state.opened = true;
222
- },
217
+ catchMove() {
218
+ this.skipMove = false;
219
+ },
223
220
 
224
- close() {
225
- this.state.opened = false;
226
- },
221
+ open() {
222
+ this.state.opened = true;
223
+ },
227
224
 
228
- closeOther() {
229
- ARRAY.filter(item => item !== this).forEach(item => item.close());
230
- },
225
+ close() {
226
+ this.state.opened = false;
227
+ },
231
228
 
232
- onTap() {
233
- this.close();
234
- },
229
+ closeOther() {
230
+ ARRAY.filter(item => item !== this).forEach(item => item.close());
231
+ },
232
+
233
+ onTap() {
234
+ this.close();
235
+ },
235
236
 
236
- onActionTap(action, source) {
237
- this.$emit('click', action, source);
237
+ onActionTap(action, source) {
238
+ this.$emit('click', action, source);
239
+ },
238
240
  },
239
- },
240
- });
241
+ }),
242
+ };
241
243
  </script>
242
244
  <style scoped src="./swipe-cell.css"></style>
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: Swiper 轮播图
3
3
  description: 用于循环轮播一组图片或内容,也可以滑动进行切换,轮播动效时间可以设置。
4
- spline: message
4
+ spline: data
5
5
  isComponent: true
6
6
  ---
7
7