@tdesign/uniapp 0.7.3 → 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 (197) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +1 -1
  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/checkbox.vue +127 -127
  26. package/dist/checkbox/props.ts +6 -6
  27. package/dist/checkbox/type.ts +3 -3
  28. package/dist/checkbox-group/checkbox-group.vue +175 -173
  29. package/dist/checkbox-group/props.ts +6 -6
  30. package/dist/checkbox-group/type.ts +4 -4
  31. package/dist/col/col.vue +26 -24
  32. package/dist/collapse/collapse.vue +83 -81
  33. package/dist/collapse-panel/collapse-panel.vue +121 -119
  34. package/dist/collapse-panel/props.ts +4 -4
  35. package/dist/collapse-panel/type.ts +2 -2
  36. package/dist/color-picker/README.md +1 -1
  37. package/dist/color-picker/color-picker.vue +324 -322
  38. package/dist/color-picker/props.ts +2 -2
  39. package/dist/color-picker/template.vue +14 -10
  40. package/dist/common/common.ts +1 -0
  41. package/dist/common/style/theme/index.css +5 -5
  42. package/dist/common/utils.js +7 -2
  43. package/dist/common/validator.js +172 -0
  44. package/dist/config-provider/README.en-US.md +184 -0
  45. package/dist/config-provider/README.md +234 -0
  46. package/dist/config-provider/config-provider.vue +105 -0
  47. package/dist/config-provider/config-store.js +70 -0
  48. package/dist/config-provider/props.ts +16 -0
  49. package/dist/config-provider/reactive-state.js +39 -0
  50. package/dist/config-provider/type.ts +401 -0
  51. package/dist/config-provider/use-config.js +29 -0
  52. package/dist/config-provider/utils.js +29 -0
  53. package/dist/count-down/count-down.vue +98 -97
  54. package/dist/date-time-picker/date-time-picker.vue +410 -395
  55. package/dist/demo/demo.vue +1 -0
  56. package/dist/dialog/dialog.vue +175 -173
  57. package/dist/divider/divider.vue +38 -36
  58. package/dist/draggable/draggable.vue +60 -58
  59. package/dist/drawer/README.md +1 -1
  60. package/dist/drawer/drawer.vue +48 -46
  61. package/dist/dropdown-item/dropdown-item.vue +209 -207
  62. package/dist/dropdown-item/props.ts +4 -4
  63. package/dist/dropdown-item/type.ts +3 -3
  64. package/dist/dropdown-menu/dropdown-menu.vue +93 -99
  65. package/dist/empty/empty.vue +43 -42
  66. package/dist/fab/fab.vue +88 -86
  67. package/dist/footer/footer.vue +36 -34
  68. package/dist/form/README.en-US.md +17 -24
  69. package/dist/form/README.md +18 -25
  70. package/dist/form/form.css +1 -166
  71. package/dist/form/form.vue +251 -236
  72. package/dist/form/props.ts +2 -21
  73. package/dist/form/type.ts +7 -70
  74. package/dist/form-item/README.en-US.md +4 -5
  75. package/dist/form-item/README.md +4 -5
  76. package/dist/form-item/form-item.css +69 -96
  77. package/dist/form-item/form-item.vue +315 -336
  78. package/dist/form-item/form-model.ts +125 -173
  79. package/dist/form-item/props.ts +4 -17
  80. package/dist/form-item/type.ts +43 -1
  81. package/dist/grid/grid.vue +53 -51
  82. package/dist/grid-item/grid-item.vue +121 -119
  83. package/dist/guide/README.md +1 -1
  84. package/dist/guide/guide.vue +281 -277
  85. package/dist/icon/README.md +2 -4
  86. package/dist/icon/icon.vue +78 -76
  87. package/dist/image/README.md +1 -1
  88. package/dist/image/image.vue +103 -101
  89. package/dist/image-viewer/image-viewer.vue +160 -158
  90. package/dist/image-viewer/props.ts +2 -2
  91. package/dist/image-viewer/type.ts +1 -1
  92. package/dist/index.js +3 -0
  93. package/dist/indexes/indexes.vue +264 -267
  94. package/dist/indexes-anchor/indexes-anchor.vue +41 -41
  95. package/dist/input/input.vue +192 -192
  96. package/dist/input/props.ts +6 -6
  97. package/dist/input/type.ts +3 -3
  98. package/dist/link/link.vue +73 -71
  99. package/dist/loading/loading.vue +59 -59
  100. package/dist/locale/ar_KW.ts +157 -0
  101. package/dist/locale/en_US.ts +146 -0
  102. package/dist/locale/it_IT.ts +145 -0
  103. package/dist/locale/ja_JP.ts +132 -0
  104. package/dist/locale/ko_KR.ts +132 -0
  105. package/dist/locale/ru_RU.ts +157 -0
  106. package/dist/locale/zh_CN.ts +133 -0
  107. package/dist/locale/zh_TW.ts +132 -0
  108. package/dist/message/message.vue +181 -173
  109. package/dist/message/props.ts +2 -2
  110. package/dist/message/type.ts +1 -1
  111. package/dist/message-item/message-item.vue +192 -184
  112. package/dist/mixins/using-config.js +39 -0
  113. package/dist/navbar/navbar.vue +201 -199
  114. package/dist/notice-bar/notice-bar.vue +175 -171
  115. package/dist/notice-bar/props.ts +2 -2
  116. package/dist/notice-bar/type.ts +1 -1
  117. package/dist/npm/dayjs/esm/locale/ar.js +81 -0
  118. package/dist/npm/dayjs/esm/locale/it.js +39 -0
  119. package/dist/overlay/overlay.vue +50 -48
  120. package/dist/picker/picker.vue +168 -161
  121. package/dist/picker-item/picker-item.vue +269 -269
  122. package/dist/popover/README.md +1 -1
  123. package/dist/popover/popover.vue +262 -261
  124. package/dist/popover/props.ts +4 -4
  125. package/dist/popover/type.ts +2 -2
  126. package/dist/popup/popup.vue +46 -45
  127. package/dist/progress/README.md +1 -1
  128. package/dist/progress/progress.vue +76 -76
  129. package/dist/pull-down-refresh/props.ts +2 -2
  130. package/dist/pull-down-refresh/pull-down-refresh.vue +240 -234
  131. package/dist/pull-down-refresh/type.ts +1 -1
  132. package/dist/qrcode/README.md +1 -1
  133. package/dist/qrcode/components/qrcode-canvas/qrcode-canvas.vue +340 -338
  134. package/dist/qrcode/components/qrcode-status/qrcode-status.vue +6 -6
  135. package/dist/qrcode/qrcode.vue +93 -87
  136. package/dist/radio/props.ts +6 -6
  137. package/dist/radio/radio.vue +118 -120
  138. package/dist/radio/type.ts +3 -3
  139. package/dist/radio-group/props.ts +4 -4
  140. package/dist/radio-group/radio-group.vue +136 -134
  141. package/dist/radio-group/type.ts +4 -4
  142. package/dist/rate/computed.js +2 -2
  143. package/dist/rate/props.ts +4 -4
  144. package/dist/rate/rate.vue +155 -154
  145. package/dist/rate/type.ts +2 -2
  146. package/dist/result/result.vue +41 -39
  147. package/dist/row/row.vue +38 -36
  148. package/dist/scroll-view/scroll-view.vue +24 -22
  149. package/dist/search/props.ts +2 -2
  150. package/dist/search/search.vue +127 -125
  151. package/dist/search/type.ts +1 -1
  152. package/dist/side-bar/side-bar.vue +57 -55
  153. package/dist/side-bar-item/side-bar-item.vue +86 -86
  154. package/dist/skeleton/skeleton.vue +126 -124
  155. package/dist/slider/README.md +1 -1
  156. package/dist/slider/props.ts +2 -2
  157. package/dist/slider/slider.vue +457 -457
  158. package/dist/slider/type.ts +1 -1
  159. package/dist/step-item/step-item.vue +77 -75
  160. package/dist/stepper/props.ts +2 -2
  161. package/dist/stepper/stepper.vue +168 -149
  162. package/dist/stepper/type.ts +1 -1
  163. package/dist/steps/props.ts +2 -2
  164. package/dist/steps/steps.vue +83 -81
  165. package/dist/steps/type.ts +1 -1
  166. package/dist/sticky/sticky.vue +104 -102
  167. package/dist/swipe-cell/swipe-cell.vue +91 -89
  168. package/dist/swiper/README.md +1 -1
  169. package/dist/swiper/swiper.vue +91 -89
  170. package/dist/swiper-nav/swiper-nav.vue +38 -36
  171. package/dist/switch/props.ts +2 -2
  172. package/dist/switch/switch.vue +62 -62
  173. package/dist/switch/type.ts +1 -1
  174. package/dist/tab-bar/tab-bar.vue +88 -86
  175. package/dist/tab-bar-item/tab-bar-item.vue +85 -82
  176. package/dist/tab-panel/tab-panel.vue +66 -64
  177. package/dist/tabs/tabs.vue +294 -287
  178. package/dist/tag/tag.vue +79 -77
  179. package/dist/textarea/props.ts +6 -6
  180. package/dist/textarea/textarea.vue +127 -126
  181. package/dist/textarea/type.ts +3 -3
  182. package/dist/toast/toast.vue +107 -106
  183. package/dist/transition/transition.vue +30 -28
  184. package/dist/tree-select/tree-select.vue +151 -151
  185. package/dist/types/config-provider.d.ts +7 -0
  186. package/dist/types/index.d.ts +2 -0
  187. package/dist/types/popover.d.ts +7 -0
  188. package/dist/upload/README.en-US.md +13 -14
  189. package/dist/upload/README.md +11 -12
  190. package/dist/upload/props.ts +2 -4
  191. package/dist/upload/type.ts +12 -11
  192. package/dist/upload/upload.css +1 -1
  193. package/dist/upload/upload.vue +672 -512
  194. package/dist/watermark/watermark.vue +151 -149
  195. package/global.d.ts +2 -0
  196. package/package.json +15 -3
  197. package/dist/form/form-item-props.ts +0 -56
@@ -14,7 +14,7 @@
14
14
  >
15
15
  <template #content>
16
16
  <view
17
- :style="tools._style([customStyle])"
17
+ :style="'' + tools._style([customStyle])"
18
18
  :class="classPrefix + ' ' + tClass"
19
19
  >
20
20
  <view
@@ -26,7 +26,7 @@
26
26
  :class="classPrefix + '__cancel ' + tClassCancel"
27
27
  @click="onCancel"
28
28
  >
29
- {{ cancelBtn }}
29
+ {{ globalConfig.cancel }}
30
30
  </view>
31
31
  <view :class="classPrefix + '__title ' + tClassTitle">
32
32
  {{ title }}
@@ -36,13 +36,13 @@
36
36
  :class="classPrefix + '__confirm ' + tClassConfirm"
37
37
  @click="onConfirm"
38
38
  >
39
- {{ confirmBtn }}
39
+ {{ globalConfig.confirm }}
40
40
  </view>
41
41
  </view>
42
42
  <slot name="header" />
43
43
  <slot name="content" />
44
44
  <view
45
- :class="tools.cls(classPrefix + '__main', [])"
45
+ :class="'' + tools.cls(classPrefix + '__main', [])"
46
46
  disable-scroll
47
47
  >
48
48
  <slot />
@@ -60,7 +60,7 @@
60
60
 
61
61
  <block v-else>
62
62
  <view
63
- :style="tools._style([customStyle])"
63
+ :style="'' + tools._style([customStyle])"
64
64
  :class="classPrefix + ' ' + tClass"
65
65
  >
66
66
  <view
@@ -72,7 +72,7 @@
72
72
  :class="classPrefix + '__cancel ' + tClassCancel"
73
73
  @click="onCancel"
74
74
  >
75
- {{ cancelBtn }}
75
+ {{ globalConfig.cancel }}
76
76
  </view>
77
77
  <view :class="classPrefix + '__title ' + tClassTitle">
78
78
  {{ title }}
@@ -82,13 +82,13 @@
82
82
  :class="classPrefix + '__confirm ' + tClassConfirm"
83
83
  @click="onConfirm"
84
84
  >
85
- {{ confirmBtn }}
85
+ {{ globalConfig.confirm }}
86
86
  </view>
87
87
  </view>
88
88
  <slot name="header" />
89
89
  <slot name="content" />
90
90
  <view
91
- :class="tools.cls(classPrefix + '__main', [])"
91
+ :class="'' + tools.cls(classPrefix + '__main', [])"
92
92
  disable-scroll
93
93
  >
94
94
  <slot />
@@ -114,193 +114,200 @@ import useCustomNavbar from '../mixins/using-custom-navbar';
114
114
  import tools from '../common/utils.wxs';
115
115
  import { ParentMixin, RELATION_MAP } from '../common/relation';
116
116
 
117
- const name = `${prefix}-picker`;
117
+ import usingConfig from '../mixins/using-config';
118
+ const componentName = 'picker';
119
+ const name = `${prefix}-${componentName}`;
118
120
 
119
121
  const DEFAULT_KEYS = { value: 'value', label: 'label', icon: 'icon' };
120
122
 
121
- export default uniComponent({
122
- name,
123
- options: {
124
- styleIsolation: 'shared',
125
- },
126
- externalClasses: [
127
- `${prefix}-class`,
128
- `${prefix}-class-confirm`,
129
- `${prefix}-class-cancel`,
130
- `${prefix}-class-title`,
131
- ],
123
+ export default {
132
124
  components: {
133
125
  TPopup,
134
126
  },
135
- mixins: [
136
- ParentMixin(RELATION_MAP.PickerItem),
137
- useCustomNavbar,
138
- ],
139
- props: {
140
- ...props,
141
- },
142
- emits: [
143
- 'visible-change',
144
- 'update:visible',
145
- ],
146
- data() {
147
- return {
148
- prefix,
149
- classPrefix: name,
150
- defaultOverlayProps: {},
151
- defaultPopUpzIndex: 11500,
152
- indicatorTop: 72, // 默认indicator位置,会动态计算
127
+ ...uniComponent({
128
+ name,
129
+ options: {
130
+ styleIsolation: 'shared',
131
+ },
132
+ externalClasses: [
133
+ `${prefix}-class`,
134
+ `${prefix}-class-confirm`,
135
+ `${prefix}-class-cancel`,
136
+ `${prefix}-class-title`,
137
+ ],
138
+ mixins: [
139
+ ParentMixin(RELATION_MAP.PickerItem),
140
+ useCustomNavbar,
141
+ usingConfig({ componentName }),
142
+ ],
143
+ props: {
144
+ ...props,
145
+ },
146
+ emits: [
147
+ 'visible-change',
148
+ 'update:visible',
149
+ 'update:value',
150
+ ],
151
+ data() {
152
+ return {
153
+ prefix,
154
+ classPrefix: name,
155
+ defaultOverlayProps: {},
156
+ defaultPopUpzIndex: 11500,
157
+ indicatorTop: 72, // 默认indicator位置,会动态计算
153
158
 
154
- tools,
159
+ tools,
155
160
 
156
- dataValue: coalesce(this.value, this.defaultValue),
157
- dataVisible: this.visible,
158
- };
159
- },
160
- watch: {
161
- value: {
162
- handler(value) {
163
- this.dataValue = value;
164
- },
165
- immediate: true,
161
+ dataValue: coalesce(this.value, this.defaultValue),
162
+ dataVisible: this.visible,
163
+ };
166
164
  },
167
- visible: {
168
- handler(v) {
169
- this.dataVisible = v;
165
+ watch: {
166
+ value: {
167
+ handler(value) {
168
+ this.dataValue = value;
169
+ },
170
+ immediate: true,
170
171
  },
171
- immediate: true,
172
- },
173
- dataVisible: {
174
- handler() {
175
- this.onWatchVisible();
176
- setTimeout(() => {
172
+ visible: {
173
+ handler(v) {
174
+ this.dataVisible = v;
175
+ },
176
+ immediate: true,
177
+ },
178
+ dataVisible: {
179
+ handler() {
177
180
  this.onWatchVisible();
178
- });
181
+ setTimeout(() => {
182
+ this.onWatchVisible();
183
+ });
184
+ },
185
+ immediate: true,
179
186
  },
180
- immediate: true,
181
- },
182
- dataValue: {
183
- handler() {
184
- this.onWatchVisible();
187
+ dataValue: {
188
+ handler() {
189
+ this.onWatchVisible();
190
+ },
191
+ immediate: true,
185
192
  },
186
- immediate: true,
187
- },
188
- itemHeight: {
189
- handler() {
190
- this.updateIndicatorPosition();
193
+ itemHeight: {
194
+ handler() {
195
+ this.updateIndicatorPosition();
196
+ },
197
+ immediate: true,
191
198
  },
192
- immediate: true,
193
- },
194
- visibleItemCount: {
195
- handler() {
196
- this.updateIndicatorPosition();
199
+ visibleItemCount: {
200
+ handler() {
201
+ this.updateIndicatorPosition();
202
+ },
203
+ immediate: true,
197
204
  },
198
- immediate: true,
199
205
  },
200
- },
201
- mounted() {
202
- this.children?.map((column, index) => (column.columnIndex = index));
203
- this.updateIndicatorPosition();
204
- setTimeout(() => {
205
- this.updateChildren();
206
- });
207
- },
208
- methods: {
209
- coalesce,
210
-
211
- innerAfterLinked() {
212
- this.updateChildren();
206
+ mounted() {
207
+ this.children?.map((column, index) => (column.columnIndex = index));
208
+ this.updateIndicatorPosition();
209
+ setTimeout(() => {
210
+ this.updateChildren();
211
+ });
213
212
  },
213
+ methods: {
214
+ coalesce,
214
215
 
215
- updateChildren() {
216
- const { pickItemHeight } = this;
217
- const { value, defaultValue, keys, visibleItemCount, itemHeight } = this;
216
+ innerAfterLinked() {
217
+ this.updateChildren();
218
+ },
218
219
 
219
- this.children?.forEach((child, index) => {
220
- child.value = coalesce(value?.[index], defaultValue?.[index], '');
221
- child.columnIndex = index;
222
- child.pickItemHeight = pickItemHeight;
223
- child.itemHeight = itemHeight;
224
- child.visibleItemCount = visibleItemCount;
225
- child.keys = { ...DEFAULT_KEYS, ...(keys || {}) };
220
+ updateChildren() {
221
+ const { pickItemHeight } = this;
222
+ const { value, defaultValue, keys, visibleItemCount, itemHeight } = this;
226
223
 
227
- child.update();
228
- });
229
- },
224
+ this.children?.forEach((child, index) => {
225
+ child.value = coalesce(value?.[index], defaultValue?.[index], '');
226
+ child.columnIndex = index;
227
+ child.pickItemHeight = pickItemHeight;
228
+ child.itemHeight = itemHeight;
229
+ child.visibleItemCount = visibleItemCount;
230
+ child.keys = { ...DEFAULT_KEYS, ...(keys || {}) };
230
231
 
231
- getSelectedValue() {
232
- const value = this.children?.map(item => item._selectedValue);
233
- const label = this.children?.map(item => item._selectedLabel);
234
- return [value, label];
235
- },
232
+ child.update();
233
+ });
234
+ },
236
235
 
237
- getColumnIndexes() {
238
- const columns = this.children?.map((pickerColumn, columnIndex) => ({
239
- column: columnIndex,
240
- index: pickerColumn._selectedIndex,
241
- }));
242
- return columns;
243
- },
236
+ getSelectedValue() {
237
+ const value = this.children?.map(item => item._selectedValue);
238
+ const label = this.children?.map(item => item._selectedLabel);
239
+ return [value, label];
240
+ },
244
241
 
245
- onConfirm() {
246
- const [value, label] = this.getSelectedValue();
247
- const columns = this.getColumnIndexes();
242
+ getColumnIndexes() {
243
+ const columns = this.children?.map((pickerColumn, columnIndex) => ({
244
+ column: columnIndex,
245
+ index: pickerColumn._selectedIndex,
246
+ }));
247
+ return columns;
248
+ },
248
249
 
249
- this.close('confirm-btn');
250
- this.$emit('confirm', { value, label, columns });
250
+ onConfirm() {
251
+ const [value, label] = this.getSelectedValue();
252
+ const columns = this.getColumnIndexes();
251
253
 
252
- if (JSON.stringify(this.dataValue) === JSON.stringify(value)) return;
253
- this.$emit('change', { value, label, columns });
254
- },
254
+ this.close('confirm-btn');
255
+ this.$emit('confirm', { value, label, columns });
255
256
 
256
- triggerColumnChange({ column, index }) {
257
- const [value, label] = this.getSelectedValue();
258
- this.$emit('pick', { value, label, column, index });
259
- },
257
+ if (JSON.stringify(this.dataValue) === JSON.stringify(value)) return;
258
+ this.$emit('change', { value, label, columns });
259
+ this.$emit('update:value', value);
260
+ },
260
261
 
261
- onCancel() {
262
- this.close('cancel-btn');
263
- this.$emit('cancel');
264
- },
262
+ triggerColumnChange({ column, index }) {
263
+ const [value, label] = this.getSelectedValue();
264
+ this.$emit('pick', { value, label, column, index });
265
+ },
265
266
 
266
- onPopupChange(e) {
267
- const { visible } = e;
267
+ onCancel() {
268
+ this.close('cancel-btn');
269
+ this.$emit('cancel');
270
+ },
268
271
 
269
- this.close('overlay');
270
- this.$emit('visible-change', { visible });
271
- this.$emit('update:visible', visible);
272
- },
272
+ onPopupChange(e) {
273
+ const { visible } = e;
273
274
 
274
- close(trigger) {
275
- if (this.autoClose) {
276
- this.dataVisible = false;
277
- this.$emit('update:visible', false);
278
- }
279
- this.$emit('close', { trigger });
280
- },
275
+ this.close('overlay');
276
+ this.$emit('visible-change', { visible });
277
+ this.$emit('update:visible', visible);
278
+ },
281
279
 
282
- updateIndicatorPosition() {
283
- const { itemHeight, visibleItemCount } = this;
284
- const indicatorTop = ((visibleItemCount - 1) / 2) * itemHeight;
285
- this.indicatorTop = indicatorTop;
286
- },
280
+ close(trigger) {
281
+ if (this.autoClose) {
282
+ this.dataVisible = false;
283
+ this.$emit('update:visible', false);
284
+ }
285
+ this.$emit('close', { trigger });
286
+ },
287
287
 
288
- onWatchVisible() {
289
- const {
290
- usePopup,
291
- dataVisible,
292
- } = this;
293
- if (!usePopup || dataVisible) {
294
- this.updateChildren();
295
- this.updateIndicatorPosition();
296
- }
297
- },
288
+ updateIndicatorPosition() {
289
+ const { itemHeight, visibleItemCount } = this;
290
+ const indicatorTop = ((visibleItemCount - 1) / 2) * itemHeight;
291
+ this.indicatorTop = indicatorTop;
292
+ },
293
+
294
+ onWatchVisible() {
295
+ const {
296
+ usePopup,
297
+ dataVisible,
298
+ } = this;
299
+ if (!usePopup || dataVisible) {
300
+ this.updateChildren();
301
+ this.updateIndicatorPosition();
302
+ }
303
+ },
298
304
 
299
- isShowOverlay(value, defaultValue) {
300
- return tools.isBoolean(value) ? value : defaultValue;
305
+ isShowOverlay(value, defaultValue) {
306
+ return tools.isBoolean(value) ? value : defaultValue;
307
+ },
301
308
  },
302
- },
303
- });
309
+ }),
310
+ };
304
311
  </script>
305
312
  <style scoped src="./picker.css"></style>
306
313
  <style scoped>