@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
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: {
@@ -4,6 +4,7 @@
4
4
  * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC
5
5
  * */
6
6
 
7
+ import type { CheckboxIconType } from '../checkbox/type';
7
8
  import type { KeysType } from '../common/common';
8
9
 
9
10
  export interface TdCheckboxGroupProps<T = CheckboxGroupValue> {
@@ -15,7 +16,7 @@ export interface TdCheckboxGroupProps<T = CheckboxGroupValue> {
15
16
  /**
16
17
  * 是否禁用组件。优先级:Form.disabled < CheckboxGroup.disabled < Checkbox.disabled
17
18
  */
18
- disabled?: boolean;
19
+ disabled?: boolean | null;
19
20
  /**
20
21
  * 用来定义 value / label / disabled 在 `options` 中对应的字段别名
21
22
  */
@@ -23,7 +24,7 @@ export interface TdCheckboxGroupProps<T = CheckboxGroupValue> {
23
24
  /**
24
25
  * 支持最多选中的数量
25
26
  */
26
- max?: number;
27
+ max?: number | null;
27
28
  /**
28
29
  * 统一设置内部复选框 HTML 属性
29
30
  * @default ''
@@ -37,7 +38,7 @@ export interface TdCheckboxGroupProps<T = CheckboxGroupValue> {
37
38
  /**
38
39
  * 只读状态
39
40
  */
40
- readonly?: boolean;
41
+ readonly?: boolean | null;
41
42
  /**
42
43
  * -1 时代表独立,不再寻找 parent,用于头条小程序
43
44
  * @default ''
@@ -65,7 +66,8 @@ export type CheckboxOption = string | number | CheckboxOptionObj;
65
66
  export interface CheckboxOptionObj {
66
67
  label?: string;
67
68
  value?: string | number;
68
- disabled?: boolean;
69
+ disabled?: boolean | null;
70
+ icon?: CheckboxIconType;
69
71
  checkAll?: true;
70
72
  }
71
73
 
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>