@tdesign/uniapp 0.7.3 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +44 -35
  3. package/dist/action-sheet/README.md +9 -4
  4. package/dist/action-sheet/action-sheet.vue +158 -150
  5. package/dist/action-sheet/props.ts +2 -2
  6. package/dist/action-sheet/type.ts +1 -1
  7. package/dist/avatar/README.md +3 -1
  8. package/dist/avatar/avatar.vue +89 -87
  9. package/dist/avatar-group/avatar-group.vue +69 -67
  10. package/dist/back-top/README.md +3 -1
  11. package/dist/back-top/back-top.vue +60 -58
  12. package/dist/badge/README.md +3 -1
  13. package/dist/badge/badge.vue +69 -59
  14. package/dist/button/README.md +3 -1
  15. package/dist/button/button.vue +121 -116
  16. package/dist/button/props.ts +2 -2
  17. package/dist/button/type.ts +1 -1
  18. package/dist/calendar/README.md +3 -1
  19. package/dist/calendar/calendar-header.vue +4 -4
  20. package/dist/calendar/calendar.vue +308 -297
  21. package/dist/calendar/template.vue +1 -1
  22. package/dist/cascader/README.en-US.md +2 -1
  23. package/dist/cascader/README.md +5 -2
  24. package/dist/cascader/cascader.vue +340 -328
  25. package/dist/cascader/props.ts +6 -1
  26. package/dist/cascader/type.ts +6 -0
  27. package/dist/cell/README.md +3 -1
  28. package/dist/cell/cell.vue +127 -121
  29. package/dist/cell-group/cell-group.vue +32 -30
  30. package/dist/check-tag/check-tag.vue +73 -71
  31. package/dist/checkbox/README.md +3 -1
  32. package/dist/checkbox/checkbox.vue +127 -127
  33. package/dist/checkbox/props.ts +6 -6
  34. package/dist/checkbox/type.ts +3 -3
  35. package/dist/checkbox-group/checkbox-group.vue +175 -173
  36. package/dist/checkbox-group/props.ts +6 -6
  37. package/dist/checkbox-group/type.ts +4 -4
  38. package/dist/col/README.md +3 -1
  39. package/dist/col/col.vue +26 -24
  40. package/dist/collapse/README.md +3 -1
  41. package/dist/collapse/collapse.vue +83 -81
  42. package/dist/collapse-panel/collapse-panel.vue +121 -119
  43. package/dist/collapse-panel/props.ts +4 -4
  44. package/dist/collapse-panel/type.ts +2 -2
  45. package/dist/color-picker/README.md +4 -2
  46. package/dist/color-picker/color-picker.vue +324 -322
  47. package/dist/color-picker/props.ts +2 -2
  48. package/dist/color-picker/template.vue +14 -10
  49. package/dist/common/common.ts +122 -5
  50. package/dist/common/src/index.js +0 -1
  51. package/dist/common/style/theme/index.css +5 -5
  52. package/dist/common/utils.js +7 -2
  53. package/dist/common/validator.ts +496 -0
  54. package/dist/config-provider/README.en-US.md +184 -0
  55. package/dist/config-provider/README.md +236 -0
  56. package/dist/config-provider/config-provider.vue +105 -0
  57. package/dist/config-provider/config-store.js +70 -0
  58. package/dist/config-provider/props.ts +16 -0
  59. package/dist/config-provider/reactive-state.js +39 -0
  60. package/dist/config-provider/type.ts +401 -0
  61. package/dist/config-provider/use-config.js +29 -0
  62. package/dist/config-provider/utils.js +29 -0
  63. package/dist/count-down/README.md +3 -1
  64. package/dist/count-down/count-down.vue +98 -97
  65. package/dist/date-time-picker/README.md +3 -1
  66. package/dist/date-time-picker/date-time-picker.vue +410 -395
  67. package/dist/demo/demo.vue +1 -0
  68. package/dist/dialog/README.md +3 -1
  69. package/dist/dialog/dialog.vue +175 -173
  70. package/dist/divider/README.md +3 -1
  71. package/dist/divider/divider.vue +38 -36
  72. package/dist/draggable/draggable.vue +60 -58
  73. package/dist/drawer/README.md +4 -2
  74. package/dist/drawer/drawer.vue +48 -46
  75. package/dist/dropdown-item/dropdown-item.vue +209 -207
  76. package/dist/dropdown-item/props.ts +4 -4
  77. package/dist/dropdown-item/type.ts +3 -3
  78. package/dist/dropdown-menu/README.md +2 -2
  79. package/dist/dropdown-menu/dropdown-menu.vue +93 -99
  80. package/dist/empty/README.md +3 -1
  81. package/dist/empty/empty.vue +43 -42
  82. package/dist/fab/README.md +3 -1
  83. package/dist/fab/fab.vue +88 -86
  84. package/dist/footer/README.md +3 -1
  85. package/dist/footer/footer.vue +36 -34
  86. package/dist/form/README.en-US.md +17 -24
  87. package/dist/form/README.md +21 -26
  88. package/dist/form/form.css +1 -166
  89. package/dist/form/form.vue +251 -236
  90. package/dist/form/props.ts +2 -21
  91. package/dist/form/type.ts +6 -69
  92. package/dist/form-item/README.en-US.md +4 -5
  93. package/dist/form-item/README.md +4 -5
  94. package/dist/form-item/form-item.css +72 -95
  95. package/dist/form-item/form-item.vue +315 -337
  96. package/dist/form-item/form-model.ts +125 -173
  97. package/dist/form-item/props.ts +4 -17
  98. package/dist/form-item/type.ts +43 -1
  99. package/dist/grid/README.md +3 -1
  100. package/dist/grid/grid.vue +53 -51
  101. package/dist/grid-item/grid-item.vue +121 -119
  102. package/dist/guide/README.md +4 -2
  103. package/dist/guide/guide.vue +281 -277
  104. package/dist/icon/README.md +12 -11
  105. package/dist/icon/icon.css +1633 -1624
  106. package/dist/icon/icon.vue +78 -76
  107. package/dist/image/README.md +4 -2
  108. package/dist/image/image.vue +103 -101
  109. package/dist/image-viewer/README.md +3 -1
  110. package/dist/image-viewer/image-viewer.vue +160 -158
  111. package/dist/image-viewer/props.ts +2 -2
  112. package/dist/image-viewer/type.ts +1 -1
  113. package/dist/index.js +16 -0
  114. package/dist/indexes/README.md +3 -1
  115. package/dist/indexes/indexes.vue +264 -267
  116. package/dist/indexes-anchor/indexes-anchor.vue +41 -41
  117. package/dist/input/README.md +3 -1
  118. package/dist/input/input.vue +172 -198
  119. package/dist/input/props.ts +6 -6
  120. package/dist/input/type.ts +3 -3
  121. package/dist/link/README.md +3 -1
  122. package/dist/link/link.vue +73 -71
  123. package/dist/loading/README.md +3 -1
  124. package/dist/loading/loading.vue +59 -59
  125. package/dist/locale/ar_KW.ts +157 -0
  126. package/dist/locale/en_US.ts +146 -0
  127. package/dist/locale/it_IT.ts +145 -0
  128. package/dist/locale/ja_JP.ts +132 -0
  129. package/dist/locale/ko_KR.ts +132 -0
  130. package/dist/locale/ru_RU.ts +157 -0
  131. package/dist/locale/zh_CN.ts +133 -0
  132. package/dist/locale/zh_TW.ts +132 -0
  133. package/dist/message/README.md +8 -3
  134. package/dist/message/message.vue +181 -173
  135. package/dist/message/props.ts +2 -2
  136. package/dist/message/type.ts +1 -1
  137. package/dist/message-item/message-item.vue +192 -184
  138. package/dist/mixins/page-scroll.d.ts +19 -0
  139. package/dist/mixins/skyline.js +1 -1
  140. package/dist/mixins/using-config.js +39 -0
  141. package/dist/navbar/README.md +3 -1
  142. package/dist/navbar/navbar.vue +201 -199
  143. package/dist/notice-bar/README.md +3 -1
  144. package/dist/notice-bar/notice-bar.vue +175 -171
  145. package/dist/notice-bar/props.ts +2 -2
  146. package/dist/notice-bar/type.ts +1 -1
  147. package/dist/npm/dayjs/esm/locale/ar.js +81 -0
  148. package/dist/npm/dayjs/esm/locale/it.js +39 -0
  149. package/dist/overlay/README.md +3 -1
  150. package/dist/overlay/overlay.vue +50 -48
  151. package/dist/picker/README.md +3 -1
  152. package/dist/picker/picker.vue +168 -161
  153. package/dist/picker-item/picker-item.vue +269 -269
  154. package/dist/popover/README.md +4 -2
  155. package/dist/popover/popover.vue +262 -261
  156. package/dist/popover/props.ts +4 -4
  157. package/dist/popover/type.ts +2 -2
  158. package/dist/popup/README.md +3 -1
  159. package/dist/popup/popup.vue +46 -45
  160. package/dist/progress/README.md +3 -3
  161. package/dist/progress/progress.vue +76 -76
  162. package/dist/pull-down-refresh/README.md +3 -1
  163. package/dist/pull-down-refresh/props.ts +2 -2
  164. package/dist/pull-down-refresh/pull-down-refresh.vue +240 -234
  165. package/dist/pull-down-refresh/type.ts +1 -1
  166. package/dist/qrcode/README.md +4 -2
  167. package/dist/qrcode/components/qrcode-canvas/qrcode-canvas.vue +340 -338
  168. package/dist/qrcode/components/qrcode-status/qrcode-status.vue +6 -6
  169. package/dist/qrcode/qrcode.vue +93 -87
  170. package/dist/radio/README.md +3 -1
  171. package/dist/radio/props.ts +6 -6
  172. package/dist/radio/radio.vue +118 -120
  173. package/dist/radio/type.ts +3 -3
  174. package/dist/radio-group/props.ts +4 -4
  175. package/dist/radio-group/radio-group.vue +136 -134
  176. package/dist/radio-group/type.ts +4 -4
  177. package/dist/rate/README.md +3 -1
  178. package/dist/rate/computed.js +2 -2
  179. package/dist/rate/props.ts +4 -4
  180. package/dist/rate/rate.css +1 -0
  181. package/dist/rate/rate.vue +155 -154
  182. package/dist/rate/type.ts +2 -2
  183. package/dist/result/README.md +3 -1
  184. package/dist/result/result.vue +41 -39
  185. package/dist/row/row.vue +38 -36
  186. package/dist/script/postinstall.js +49 -24
  187. package/dist/scroll-view/scroll-view.vue +24 -22
  188. package/dist/search/README.md +3 -1
  189. package/dist/search/props.ts +2 -2
  190. package/dist/search/search.vue +127 -125
  191. package/dist/search/type.ts +1 -1
  192. package/dist/side-bar/README.md +3 -1
  193. package/dist/side-bar/side-bar.vue +57 -55
  194. package/dist/side-bar-item/side-bar-item.vue +86 -86
  195. package/dist/skeleton/README.md +3 -1
  196. package/dist/skeleton/skeleton.vue +126 -124
  197. package/dist/slider/README.md +4 -2
  198. package/dist/slider/props.ts +2 -2
  199. package/dist/slider/slider.vue +457 -457
  200. package/dist/slider/type.ts +1 -1
  201. package/dist/step-item/step-item.vue +77 -75
  202. package/dist/stepper/README.md +3 -1
  203. package/dist/stepper/props.ts +2 -2
  204. package/dist/stepper/stepper.vue +168 -149
  205. package/dist/stepper/type.ts +1 -1
  206. package/dist/steps/README.md +3 -1
  207. package/dist/steps/props.ts +2 -2
  208. package/dist/steps/steps.vue +83 -81
  209. package/dist/steps/type.ts +1 -1
  210. package/dist/sticky/README.md +3 -1
  211. package/dist/sticky/sticky.vue +104 -102
  212. package/dist/swipe-cell/README.md +3 -1
  213. package/dist/swipe-cell/swipe-cell.vue +91 -89
  214. package/dist/swiper/README.md +4 -2
  215. package/dist/swiper/swiper.vue +91 -89
  216. package/dist/swiper-nav/swiper-nav.vue +38 -36
  217. package/dist/switch/README.md +3 -1
  218. package/dist/switch/props.ts +2 -2
  219. package/dist/switch/switch.vue +62 -62
  220. package/dist/switch/type.ts +1 -1
  221. package/dist/tab-bar/README.md +3 -1
  222. package/dist/tab-bar/tab-bar.vue +88 -86
  223. package/dist/tab-bar-item/tab-bar-item.vue +85 -82
  224. package/dist/tab-panel/tab-panel.vue +66 -64
  225. package/dist/tabs/README.md +3 -1
  226. package/dist/tabs/tabs.vue +294 -287
  227. package/dist/tag/README.md +3 -1
  228. package/dist/tag/tag.vue +79 -77
  229. package/dist/textarea/README.md +3 -1
  230. package/dist/textarea/props.ts +6 -6
  231. package/dist/textarea/textarea.vue +128 -151
  232. package/dist/textarea/type.ts +3 -3
  233. package/dist/theme.css +467 -0
  234. package/dist/theme.css.d.ts +2 -0
  235. package/dist/theme.less +1 -0
  236. package/dist/theme.less.d.ts +2 -0
  237. package/dist/toast/README.md +3 -1
  238. package/dist/toast/toast.vue +107 -106
  239. package/dist/transition/README.md +4 -6
  240. package/dist/transition/transition.vue +30 -28
  241. package/dist/tree-select/README.md +3 -1
  242. package/dist/tree-select/tree-select.vue +151 -151
  243. package/dist/types/config-provider.d.ts +7 -0
  244. package/dist/types/index.d.ts +17 -0
  245. package/dist/types/popover.d.ts +7 -0
  246. package/dist/upload/README.en-US.md +13 -14
  247. package/dist/upload/README.md +14 -13
  248. package/dist/upload/props.ts +2 -4
  249. package/dist/upload/type.ts +12 -11
  250. package/dist/upload/upload.css +1 -1
  251. package/dist/upload/upload.vue +672 -512
  252. package/dist/watermark/README.md +3 -1
  253. package/dist/watermark/watermark.vue +151 -149
  254. package/global.d.ts +2 -0
  255. package/package.json +51 -5
  256. package/dist/common/src/superComponent.js +0 -5
  257. package/dist/common/validator.js +0 -38
  258. package/dist/form/form-item-props.ts +0 -56
@@ -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
  }
@@ -8,7 +8,9 @@ isComponent: true
8
8
 
9
9
  ## 引入
10
10
 
11
- 可在 `main.ts` 或在需要使用的页面或组件中引入。
11
+ 推荐使用 easycom 模式引入组件,配置后无需手动 import 即可直接在模板中使用 `<t-col />`。详细配置请参考 [快速开始](../getting-started)。
12
+
13
+ 如需手动引入:
12
14
 
13
15
 
14
16
  ```js
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>
@@ -9,7 +9,9 @@ isComponent: true
9
9
 
10
10
  ## 引入
11
11
 
12
- 可在 `main.ts` 或在需要使用的页面或组件中引入。
12
+ 推荐使用 easycom 模式引入组件,配置后无需手动 import 即可直接在模板中使用 `<t-collapse />`。详细配置请参考 [快速开始](../getting-started)。
13
+
14
+ 如需手动引入:
13
15
 
14
16
  ```js
15
17
  import TCollapse from '@tdesign/uniapp/collapse/collapse.vue';