@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
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <view
3
3
  :class="classPrefix + ' ' + tClass"
4
- :style="tools._style([customStyle])"
4
+ :style="'' + tools._style([customStyle])"
5
5
  >
6
6
  <slot />
7
7
  <t-checkbox
@@ -27,7 +27,7 @@
27
27
  :readonly="item.readonly || false"
28
28
  :placement="item.placement || 'left'"
29
29
  :relation-key="relationKey"
30
- @change="({checked}) => handleInnerChildChange($event, { item, checked })"
30
+ @change="(e) => handleInnerChildChange(e, { item, checked: e.checked })"
31
31
  />
32
32
  </view>
33
33
  </template>
@@ -44,217 +44,219 @@ import { ParentMixin, RELATION_MAP } from '../common/relation';
44
44
  const name = `${prefix}-checkbox-group`;
45
45
 
46
46
 
47
- export default uniComponent({
48
- name,
49
- options: {
50
- styleIsolation: 'shared',
47
+ export default {
48
+ components: {
49
+ TCheckbox,
51
50
  },
52
- controlledProps: [
53
- {
54
- key: 'value',
55
- event: 'change',
51
+ ...uniComponent({
52
+ name,
53
+ options: {
54
+ styleIsolation: 'shared',
56
55
  },
57
- ],
58
- externalClasses: [
59
- `${prefix}-class`,
60
- ],
56
+ controlledProps: [
57
+ {
58
+ key: 'value',
59
+ event: 'change',
60
+ },
61
+ ],
62
+ externalClasses: [
63
+ `${prefix}-class`,
64
+ ],
61
65
 
62
- inject: {
63
- [RELATION_MAP.FormKey]: {
64
- default: null,
66
+ inject: {
67
+ [RELATION_MAP.FormKey]: {
68
+ default: null,
69
+ },
65
70
  },
66
- },
67
71
 
68
- mixins: [ParentMixin(RELATION_MAP.Checkbox)],
69
- components: {
70
- TCheckbox,
71
- },
72
- props: {
73
- ...props,
74
- },
75
- data() {
76
- return {
77
- prefix,
78
- classPrefix: name,
79
- checkboxOptions: [],
80
- tools,
72
+ mixins: [ParentMixin(RELATION_MAP.Checkbox)],
73
+ props: {
74
+ ...props,
75
+ },
76
+ data() {
77
+ return {
78
+ prefix,
79
+ classPrefix: name,
80
+ checkboxOptions: [],
81
+ tools,
81
82
 
82
- dataValue: coalesce(this.value, this.defaultValue),
83
- };
84
- },
85
- watch: {
86
- value: {
87
- handler(v) {
88
- this.dataValue = v;
89
- },
90
- immediate: true,
91
- deep: true,
83
+ dataValue: coalesce(this.value, this.defaultValue),
84
+ };
92
85
  },
93
- dataValue: {
94
- handler() {
95
- this.updateChildren();
86
+ watch: {
87
+ value: {
88
+ handler(v) {
89
+ this.dataValue = v;
90
+ },
91
+ immediate: true,
92
+ deep: true,
96
93
  },
97
- immediate: true,
98
- deep: true,
99
- },
100
- options: {
101
- handler() {
102
- this.initWithOptions();
94
+ dataValue: {
95
+ handler() {
96
+ this.updateChildren();
97
+ },
98
+ immediate: true,
99
+ deep: true,
103
100
  },
104
- immediate: true,
105
- deep: true,
106
- },
107
- disabled: {
108
- handler(v) {
109
- if (this.options?.length) {
101
+ options: {
102
+ handler() {
110
103
  this.initWithOptions();
111
- return;
112
- }
113
- this.getChildren()?.forEach((item) => {
114
- item.setDisabled(v);
115
- });
104
+ },
105
+ immediate: true,
106
+ deep: true,
107
+ },
108
+ disabled: {
109
+ handler(v) {
110
+ if (this.options?.length) {
111
+ this.initWithOptions();
112
+ return;
113
+ }
114
+ this.getChildren()?.forEach((item) => {
115
+ item.setDisabled(v);
116
+ });
117
+ },
118
+ immediate: true,
116
119
  },
117
- immediate: true,
118
120
  },
119
- },
120
- created() {
121
- this.$checkAll = null;
122
- },
123
- mounted() {
124
- this.setCheckall();
121
+ created() {
122
+ this.$checkAll = null;
123
+ },
124
+ mounted() {
125
+ this.setCheckall();
125
126
 
126
- this.getChildren()?.forEach((item) => {
127
- item.setDisabled(this.disabled);
128
- });
129
- setTimeout(() => {
130
- this.updateChildren();
131
- }, 33);
132
- },
133
- methods: {
134
- getChildren() {
135
- let items = this.children;
136
- if (!items?.length) {
137
- items = this.$refs[`${prefix}-checkbox-option`];
138
- }
139
- return items || [];
127
+ this.getChildren()?.forEach((item) => {
128
+ item.setDisabled(this.disabled);
129
+ });
130
+ setTimeout(() => {
131
+ this.updateChildren();
132
+ }, 33);
140
133
  },
134
+ methods: {
135
+ getChildren() {
136
+ let items = this.children;
137
+ if (!items?.length) {
138
+ items = this.$refs[`${prefix}-checkbox-option`];
139
+ }
140
+ return items || [];
141
+ },
141
142
 
142
- updateChildren() {
143
- const items = this.getChildren();
144
- const { dataValue } = this;
143
+ updateChildren() {
144
+ const items = this.getChildren();
145
+ const { dataValue } = this;
145
146
 
146
147
 
147
- if (items.length > 0) {
148
- items.forEach((item) => {
149
- if (!item.checkAll) {
150
- item.dataChecked = dataValue?.includes(item.value);
148
+ if (items.length > 0) {
149
+ items.forEach((item) => {
150
+ if (!item.checkAll) {
151
+ item.dataChecked = dataValue?.includes(item.value);
152
+ }
153
+ });
154
+ // 关联可全选项
155
+ if (items.some(item => item.checkAll)) {
156
+ this.setCheckall();
151
157
  }
152
- });
153
- // 关联可全选项
154
- if (items.some(item => item.checkAll)) {
155
- this.setCheckall();
156
158
  }
157
- }
158
- },
159
+ },
159
160
 
160
- updateValue({ validChildren, trigger, value, checked, checkAll, item, indeterminate }) {
161
- let { dataValue: newValue } = this;
162
- const { max } = this;
161
+ updateValue({ validChildren, trigger, value, checked, checkAll, item, indeterminate }) {
162
+ let { dataValue: newValue } = this;
163
+ const { max } = this;
163
164
 
164
- if (validChildren !== false) {
165
- const keySet = new Set(this.getChildren().map(item => item.value));
166
- newValue = newValue.filter(value => keySet.has(value));
167
- }
165
+ if (validChildren !== false) {
166
+ const keySet = new Set(this.getChildren().map(item => item.value));
167
+ newValue = newValue.filter(value => keySet.has(value));
168
+ }
168
169
 
169
- if (max && checked && newValue.length === max) return;
170
+ if (max && checked && newValue.length === max) return;
170
171
 
171
- if (checkAll) {
172
- const items = this.getChildren();
173
- newValue = !checked && indeterminate
174
- ? items
175
- .filter(data => !(data.disabled && !newValue.includes(data.value)))
176
- .map(item => item.value)
177
- : items
178
- .filter((data) => {
179
- if (data.disabled) {
180
- return newValue.includes(data.value);
181
- }
182
- return checked && !data.checkAll;
183
- })
184
- .map(data => data.value);
185
- } else if (checked) {
186
- newValue = newValue.concat(value);
187
- } else {
188
- const index = newValue.findIndex(v => v === value);
189
- newValue.splice(index, 1);
190
- }
172
+ if (checkAll) {
173
+ const items = this.getChildren();
174
+ newValue = !checked && indeterminate
175
+ ? items
176
+ .filter(data => !(data.disabled && !newValue.includes(data.value)))
177
+ .map(item => item.value)
178
+ : items
179
+ .filter((data) => {
180
+ if (data.disabled) {
181
+ return newValue.includes(data.value);
182
+ }
183
+ return checked && !data.checkAll;
184
+ })
185
+ .map(data => data.value);
186
+ } else if (checked) {
187
+ newValue = newValue.concat(value);
188
+ } else {
189
+ const index = newValue.findIndex(v => v === value);
190
+ newValue.splice(index, 1);
191
+ }
191
192
 
192
- if (trigger !== 'init') {
193
- this._trigger('change', { value: newValue, context: item });
193
+ if (trigger !== 'init') {
194
+ this._trigger('change', { value: newValue, context: item });
194
195
 
195
- this.onChange(newValue);
196
- }
197
- },
196
+ this.onChange(newValue);
197
+ }
198
+ },
198
199
 
199
- onChange(value) {
200
- if (this[RELATION_MAP.FormKey]
200
+ onChange(value) {
201
+ if (this[RELATION_MAP.FormKey]
201
202
  && this[RELATION_MAP.FormKey].onValueChange) {
202
- this[RELATION_MAP.FormKey].onValueChange(value);
203
- }
204
- },
203
+ this[RELATION_MAP.FormKey].onValueChange(value);
204
+ }
205
+ },
205
206
 
206
- initWithOptions() {
207
- const { options, dataValue: value, keys } = this;
207
+ initWithOptions() {
208
+ const { options, dataValue: value, keys } = this;
208
209
 
209
- if (!options?.length || !Array.isArray(options)) return;
210
+ if (!options?.length || !Array.isArray(options)) return;
210
211
 
211
- const checkboxOptions = options.map((item) => {
212
- const isLabel = ['number', 'string'].includes(typeof item);
213
- return isLabel
214
- ? {
215
- label: `${item}`,
216
- value: item,
217
- checked: value?.includes(item),
218
- }
219
- : {
220
- ...item,
221
- label: item[coalesce(keys?.label, 'label')],
222
- value: item[coalesce(keys?.value, 'value')],
223
- checked: value?.includes(item[coalesce(keys?.value, 'value')]),
224
- };
225
- });
212
+ const checkboxOptions = options.map((item) => {
213
+ const isLabel = ['number', 'string'].includes(typeof item);
214
+ return isLabel
215
+ ? {
216
+ label: `${item}`,
217
+ value: item,
218
+ checked: value?.includes(item),
219
+ }
220
+ : {
221
+ ...item,
222
+ label: item[coalesce(keys?.label, 'label')],
223
+ value: item[coalesce(keys?.value, 'value')],
224
+ checked: value?.includes(item[coalesce(keys?.value, 'value')]),
225
+ };
226
+ });
226
227
 
227
- this.checkboxOptions = checkboxOptions;
228
- },
228
+ this.checkboxOptions = checkboxOptions;
229
+ },
229
230
 
230
- handleInnerChildChange(tools, { item, checked }) {
231
- const rect = {};
231
+ handleInnerChildChange(tools, { item, checked }) {
232
+ const rect = {};
232
233
 
233
- if (item.checkAll) {
234
- rect.indeterminate = this.$checkAll?.indeterminate;
235
- }
234
+ if (item.checkAll) {
235
+ rect.indeterminate = this.$checkAll?.indeterminate;
236
+ }
236
237
 
237
- this.updateValue({ ...item, checked, item, ...rect });
238
- },
238
+ this.updateValue({ ...item, checked, item, ...rect });
239
+ },
239
240
 
240
- setCheckall() {
241
- const items = this.getChildren();
241
+ setCheckall() {
242
+ const items = this.getChildren();
242
243
 
243
- if (!this.$checkAll) {
244
- this.$checkAll = items.find(item => item.checkAll);
245
- }
244
+ if (!this.$checkAll) {
245
+ this.$checkAll = items.find(item => item.checkAll);
246
+ }
246
247
 
247
- if (!this.$checkAll) return;
248
+ if (!this.$checkAll) return;
248
249
 
249
- const { dataValue } = this;
250
- const valueSet = new Set(dataValue?.filter(val => val !== this.$checkAll.value));
251
- const isCheckall = items.every(item => (item.checkAll ? true : valueSet.has(item.value)));
250
+ const { dataValue } = this;
251
+ const valueSet = new Set(dataValue?.filter(val => val !== this.$checkAll.value));
252
+ const isCheckall = items.every(item => (item.checkAll ? true : valueSet.has(item.value)));
252
253
 
253
- this.$checkAll.dataChecked = valueSet.size > 0;
254
- this.$checkAll.dataIndeterminate = !isCheckall;
254
+ this.$checkAll.dataChecked = valueSet.size > 0;
255
+ this.$checkAll.dataIndeterminate = !isCheckall;
256
+ },
255
257
  },
256
- },
257
- });
258
+ }),
259
+ };
258
260
 
259
261
  </script>
260
262
  <style scoped>
@@ -10,8 +10,8 @@ export default {
10
10
  borderless: Boolean,
11
11
  /** 是否禁用组件。优先级:Form.disabled < CheckboxGroup.disabled < Checkbox.disabled */
12
12
  disabled: {
13
- type: Boolean,
14
- default: undefined,
13
+ type: [Boolean, null],
14
+ default: null as TdCheckboxGroupProps['disabled'],
15
15
  },
16
16
  /** 用来定义 value / label / disabled 在 `options` 中对应的字段别名 */
17
17
  keys: {
@@ -19,8 +19,8 @@ export default {
19
19
  },
20
20
  /** 支持最多选中的数量 */
21
21
  max: {
22
- type: Number,
23
- default: undefined,
22
+ type: [Number, null],
23
+ default: null as TdCheckboxGroupProps['max'],
24
24
  },
25
25
  /** 统一设置内部复选框 HTML 属性 */
26
26
  name: {
@@ -34,8 +34,8 @@ export default {
34
34
  },
35
35
  /** 只读状态 */
36
36
  readonly: {
37
- type: Boolean,
38
- default: undefined,
37
+ type: [Boolean, null],
38
+ default: null as TdCheckboxGroupProps['readonly'],
39
39
  },
40
40
  /** -1 时代表独立,不再寻找 parent,用于头条小程序 */
41
41
  relationKey: {
@@ -16,7 +16,7 @@ export interface TdCheckboxGroupProps<T = CheckboxGroupValue> {
16
16
  /**
17
17
  * 是否禁用组件。优先级:Form.disabled < CheckboxGroup.disabled < Checkbox.disabled
18
18
  */
19
- disabled?: boolean;
19
+ disabled?: boolean | null;
20
20
  /**
21
21
  * 用来定义 value / label / disabled 在 `options` 中对应的字段别名
22
22
  */
@@ -24,7 +24,7 @@ export interface TdCheckboxGroupProps<T = CheckboxGroupValue> {
24
24
  /**
25
25
  * 支持最多选中的数量
26
26
  */
27
- max?: number;
27
+ max?: number | null;
28
28
  /**
29
29
  * 统一设置内部复选框 HTML 属性
30
30
  * @default ''
@@ -38,7 +38,7 @@ export interface TdCheckboxGroupProps<T = CheckboxGroupValue> {
38
38
  /**
39
39
  * 只读状态
40
40
  */
41
- readonly?: boolean;
41
+ readonly?: boolean | null;
42
42
  /**
43
43
  * -1 时代表独立,不再寻找 parent,用于头条小程序
44
44
  * @default ''
@@ -66,7 +66,7 @@ export type CheckboxOption = string | number | CheckboxOptionObj;
66
66
  export interface CheckboxOptionObj {
67
67
  label?: string;
68
68
  value?: string | number;
69
- disabled?: boolean;
69
+ disabled?: boolean | null;
70
70
  icon?: CheckboxIconType;
71
71
  checkAll?: true;
72
72
  }
package/dist/col/col.vue CHANGED
@@ -5,7 +5,7 @@
5
5
  tools.cls(classPrefix, [span]),
6
6
  (offset ? classPrefix + '--offset-' + offset : '')
7
7
  ]"
8
- :style="getColStyles(gutter, customStyle)"
8
+ :style="'' + getColStyles(gutter, customStyle)"
9
9
  >
10
10
  <slot />
11
11
  </view>
@@ -21,29 +21,31 @@ import { ChildrenMixin, RELATION_MAP } from '../common/relation';
21
21
  const name = `${prefix}-col`;
22
22
 
23
23
 
24
- export default uniComponent({
25
- name,
26
- options: {
27
- styleIsolation: 'shared',
28
- virtualHost: true,
29
- },
30
- externalClasses: [`${prefix}-class`],
31
- mixins: [ChildrenMixin(RELATION_MAP.Col)],
32
- props: {
33
- ...props,
34
- },
35
- data() {
36
- return {
37
- prefix,
38
- classPrefix: name,
39
- tools,
40
- gutter: '',
41
- };
42
- },
43
- methods: {
44
- getColStyles,
45
- },
46
- });
24
+ export default {
25
+ ...uniComponent({
26
+ name,
27
+ options: {
28
+ styleIsolation: 'shared',
29
+ virtualHost: true,
30
+ },
31
+ externalClasses: [`${prefix}-class`],
32
+ mixins: [ChildrenMixin(RELATION_MAP.Col)],
33
+ props: {
34
+ ...props,
35
+ },
36
+ data() {
37
+ return {
38
+ prefix,
39
+ classPrefix: name,
40
+ tools,
41
+ gutter: '',
42
+ };
43
+ },
44
+ methods: {
45
+ getColStyles,
46
+ },
47
+ }),
48
+ };
47
49
 
48
50
  </script>
49
51
  <style scoped src="./col.css"></style>