@ray-js/smart-ui 2.13.2-beta-0 → 2.13.2-beta-2

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 (103) hide show
  1. package/es/@types/config-provider/index.d.ts +6 -2
  2. package/es/@types/config-provider/theme-vars.d.ts +1 -1
  3. package/es/action-sheet/README.md +613 -0
  4. package/es/battery/README.md +149 -0
  5. package/es/bottom-sheet/README.md +495 -0
  6. package/es/button/README.md +335 -0
  7. package/es/calendar/README.md +513 -0
  8. package/es/cascader/README.md +326 -0
  9. package/es/cell/README.md +317 -0
  10. package/es/checkbox/README.md +481 -0
  11. package/es/circle/README.md +132 -0
  12. package/es/col/README.md +162 -0
  13. package/es/collapse/README.md +127 -0
  14. package/es/config-provider/README.md +150 -0
  15. package/es/count-down/README.md +201 -0
  16. package/es/custom-keyboard/README.md +122 -0
  17. package/es/datetime-picker/README.md +438 -0
  18. package/es/dialog/README.md +451 -0
  19. package/es/divider/README.md +132 -0
  20. package/es/dropdown-menu/README.md +331 -0
  21. package/es/empty/README.md +119 -0
  22. package/es/field/README.md +455 -0
  23. package/es/grid/README.md +273 -0
  24. package/es/icon/README.md +178 -0
  25. package/es/image/README.md +225 -0
  26. package/es/index-bar/README.md +186 -0
  27. package/es/loading/README.md +120 -0
  28. package/es/nav-bar/README.md +410 -0
  29. package/es/notice-bar/README.md +274 -0
  30. package/es/notify/README.md +121 -0
  31. package/es/overlay/README.md +128 -0
  32. package/es/picker/README.md +412 -0
  33. package/es/popover/README.md +338 -0
  34. package/es/popup/README.md +272 -0
  35. package/es/progress/README.md +88 -0
  36. package/es/radio/README.md +423 -0
  37. package/es/rate/README.md +248 -0
  38. package/es/search/README.md +290 -0
  39. package/es/sidebar/README.md +176 -0
  40. package/es/skeleton/README.md +141 -0
  41. package/es/slider/README.md +444 -0
  42. package/es/stepper/README.md +231 -0
  43. package/es/sticky/README.md +91 -0
  44. package/es/swipe-cell/README.md +217 -0
  45. package/es/switch/README.md +316 -0
  46. package/es/tab/README.md +501 -0
  47. package/es/tabbar/README.md +397 -0
  48. package/es/tag/README.md +215 -0
  49. package/es/toast/README.md +293 -0
  50. package/es/transition/README.md +140 -0
  51. package/es/tree-select/README.md +348 -0
  52. package/lib/@types/config-provider/index.d.ts +6 -2
  53. package/lib/@types/config-provider/theme-vars.d.ts +1 -1
  54. package/lib/action-sheet/README.md +613 -0
  55. package/lib/battery/README.md +149 -0
  56. package/lib/bottom-sheet/README.md +495 -0
  57. package/lib/button/README.md +335 -0
  58. package/lib/calendar/README.md +513 -0
  59. package/lib/cascader/README.md +326 -0
  60. package/lib/cell/README.md +317 -0
  61. package/lib/checkbox/README.md +481 -0
  62. package/lib/circle/README.md +132 -0
  63. package/lib/col/README.md +162 -0
  64. package/lib/collapse/README.md +127 -0
  65. package/lib/config-provider/README.md +150 -0
  66. package/lib/count-down/README.md +201 -0
  67. package/lib/custom-keyboard/README.md +122 -0
  68. package/lib/datetime-picker/README.md +438 -0
  69. package/lib/dialog/README.md +451 -0
  70. package/lib/divider/README.md +132 -0
  71. package/lib/dropdown-menu/README.md +331 -0
  72. package/lib/empty/README.md +119 -0
  73. package/lib/field/README.md +455 -0
  74. package/lib/grid/README.md +273 -0
  75. package/lib/icon/README.md +178 -0
  76. package/lib/image/README.md +225 -0
  77. package/lib/index-bar/README.md +186 -0
  78. package/lib/loading/README.md +120 -0
  79. package/lib/nav-bar/README.md +410 -0
  80. package/lib/notice-bar/README.md +274 -0
  81. package/lib/notify/README.md +121 -0
  82. package/lib/overlay/README.md +128 -0
  83. package/lib/picker/README.md +412 -0
  84. package/lib/popover/README.md +338 -0
  85. package/lib/popup/README.md +272 -0
  86. package/lib/progress/README.md +88 -0
  87. package/lib/radio/README.md +423 -0
  88. package/lib/rate/README.md +248 -0
  89. package/lib/search/README.md +290 -0
  90. package/lib/sidebar/README.md +176 -0
  91. package/lib/skeleton/README.md +141 -0
  92. package/lib/slider/README.md +444 -0
  93. package/lib/stepper/README.md +231 -0
  94. package/lib/sticky/README.md +91 -0
  95. package/lib/swipe-cell/README.md +217 -0
  96. package/lib/switch/README.md +316 -0
  97. package/lib/tab/README.md +501 -0
  98. package/lib/tabbar/README.md +397 -0
  99. package/lib/tag/README.md +215 -0
  100. package/lib/toast/README.md +293 -0
  101. package/lib/transition/README.md +140 -0
  102. package/lib/tree-select/README.md +348 -0
  103. package/package.json +3 -3
@@ -0,0 +1,348 @@
1
+ ---
2
+ category: 数据录入
3
+ assets: TreeSelection
4
+ ---
5
+
6
+
7
+ # TreeSelect 分类选择
8
+
9
+ ### 介绍
10
+
11
+ 用于从一组相关联的数据集合中进行选择。
12
+
13
+ ### 引入
14
+
15
+ ```jsx
16
+ import { TreeSelect } from '@ray-js/smart-ui';
17
+ ```
18
+
19
+ ## 代码演示
20
+
21
+ ### 单选模式
22
+
23
+ 可以在任意位置上使用 TreeSelect 组件。传入对应的数据即可。此组件支持单选或多选,具体行为完全基于事件 onClickItem 的实现逻辑如何为属性 activeId 赋值,当 activeId 为数组时即为多选状态。
24
+
25
+ ```jsx
26
+ import { TreeSelect } from '@ray-js/smart-ui';
27
+ import React, { useState, useMemo, useCallback } from 'react';
28
+
29
+ const items = [
30
+ {
31
+ text: '浙江',
32
+ options: [
33
+ {
34
+ text: '杭州',
35
+ id: 1,
36
+ },
37
+ {
38
+ text: '温州',
39
+ id: 2,
40
+ },
41
+ {
42
+ text: '宁波',
43
+ id: 3,
44
+ disabled: true,
45
+ },
46
+ {
47
+ text: '义乌',
48
+ id: 4,
49
+ },
50
+ ],
51
+ },
52
+ {
53
+ text: '江苏',
54
+ options: [
55
+ [
56
+ {
57
+ text: '南京',
58
+ id: 5,
59
+ },
60
+ {
61
+ text: '无锡',
62
+ id: 6,
63
+ },
64
+ {
65
+ text: '徐州',
66
+ id: 7,
67
+ },
68
+ {
69
+ text: '苏州',
70
+ id: 8,
71
+ },
72
+ ],
73
+ ],
74
+ },
75
+ {
76
+ text: '福建',
77
+ disabled: true,
78
+ options: [
79
+ {
80
+ text: '泉州',
81
+ id: 9,
82
+ },
83
+ ],
84
+ },
85
+ ];
86
+
87
+ export default function Demo() {
88
+ const [mainActiveIndex, setmainActiveIndex] = useState(0);
89
+ const [activeId, setactiveId] = useState(0);
90
+ const onClickNav = useCallback(({ detail }) => {
91
+ setmainActiveIndex(detail.index || 0);
92
+ }, []);
93
+
94
+ const onClickItem = useCallback(
95
+ ({ detail }) => {
96
+ const id = activeId === detail.id ? null : detail.id;
97
+ setactiveId(id);
98
+ },
99
+ [activeId]
100
+ );
101
+ return (
102
+ <TreeSelect
103
+ items={items}
104
+ mainActiveIndex={mainActiveIndex}
105
+ activeId={activeId}
106
+ onClickItem={onClickItem}
107
+ onClickNav={onClickNav}
108
+ />
109
+ );
110
+ }
111
+ ```
112
+
113
+ ### 多选模式
114
+
115
+ ```jsx
116
+ import { TreeSelect } from '@ray-js/smart-ui';
117
+ import React, { useState, useMemo, useCallback } from 'react';
118
+
119
+ const items = [
120
+ {
121
+ text: '浙江',
122
+ options: [
123
+ {
124
+ text: '杭州',
125
+ id: 1,
126
+ },
127
+ {
128
+ text: '温州',
129
+ id: 2,
130
+ },
131
+ {
132
+ text: '宁波',
133
+ id: 3,
134
+ disabled: true,
135
+ },
136
+ {
137
+ text: '义乌',
138
+ id: 4,
139
+ },
140
+ ],
141
+ },
142
+ {
143
+ text: '江苏',
144
+ options: [
145
+ [
146
+ {
147
+ text: '南京',
148
+ id: 5,
149
+ },
150
+ {
151
+ text: '无锡',
152
+ id: 6,
153
+ },
154
+ {
155
+ text: '徐州',
156
+ id: 7,
157
+ },
158
+ {
159
+ text: '苏州',
160
+ id: 8,
161
+ },
162
+ ],
163
+ ],
164
+ },
165
+ {
166
+ text: '福建',
167
+ disabled: true,
168
+ options: [
169
+ {
170
+ text: '泉州',
171
+ id: 9,
172
+ },
173
+ ],
174
+ },
175
+ ];
176
+
177
+ export default function Demo() {
178
+ const [mainActiveIndex, setmainActiveIndex] = useState(0);
179
+ const [activeId, setactiveId] = useState([]);
180
+ const onClickNav = useCallback(({ detail }) => {
181
+ setmainActiveIndex(detail.index || 0);
182
+ }, []);
183
+
184
+ const onClickItem = useCallback(
185
+ ({ detail }) => {
186
+ const result = [...activeIdMulti];
187
+ const idx = result.indexOf(detail.id);
188
+ if (idx > -1) {
189
+ result.splice(idx, 1);
190
+ } else {
191
+ result.push(detail.id);
192
+ }
193
+
194
+ setactiveId(result);
195
+ },
196
+ [activeId]
197
+ );
198
+ return (
199
+ <TreeSelect
200
+ items={items}
201
+ max={2}
202
+ mainActiveIndex={mainActiveIndex}
203
+ activeId={activeId}
204
+ onClickItem={onClickItem}
205
+ onClickNav={onClickNav}
206
+ />
207
+ );
208
+ }
209
+ ```
210
+
211
+ ### 自定义内容
212
+
213
+ ```jsx
214
+ import { TreeSelect, Image } from '@ray-js/smart-ui';
215
+ import React, { useState, useMemo, useCallback } from 'react';
216
+
217
+ export default function Demo() {
218
+ const [mainActiveIndex, setmainActiveIndex] = useState(0);
219
+ const [activeId, setactiveId] = useState([]);
220
+ const onClickNav = useCallback(({ detail }) => {
221
+ setmainActiveIndex(detail.index || 0);
222
+ }, []);
223
+
224
+ const onClickItem = useCallback(
225
+ ({ detail }) => {
226
+ const result = [...activeIdMulti];
227
+ const idx = result.indexOf(detail.id);
228
+ if (idx > -1) {
229
+ result.splice(idx, 1);
230
+ } else {
231
+ result.push(detail.id);
232
+ }
233
+
234
+ setactiveId(result);
235
+ },
236
+ [activeId]
237
+ );
238
+ return (
239
+ <TreeSelect
240
+ items={[{ text: '分组 1' }, { text: '分组 2' }]}
241
+ height="55vw"
242
+ mainActiveIndex={mainActiveIndex}
243
+ activeId={activeId}
244
+ onClickItem={onClickItem}
245
+ onClickNav={onClickNav}
246
+ slot={{
247
+ content: (
248
+ <Image
249
+ src={
250
+ mainActiveIndex === 0
251
+ ? 'https://static1.tuyacn.com/static/tuya-miniapp-doc/_next/static/images/logo.png'
252
+ : 'https://static1.tuyacn.com/static/tuya-miniapp-doc/_next/static/images/logo.png'
253
+ }
254
+ width="100%"
255
+ height="100%"
256
+ />
257
+ ),
258
+ }}
259
+ />
260
+ );
261
+ }
262
+ ```
263
+
264
+ ## API
265
+
266
+ ### Props
267
+
268
+ | 参数 | 说明 | 类型 | 默认值 |
269
+ | ----------------- | ----------------------------- | --------------------------- | ----------- |
270
+ | activeId | 右侧选中项的 id,支持传入数组 | _string \| number \| Array_ | `0` |
271
+ | height | 高度,默认单位为`px` | _number \| string_ | `300` |
272
+ | items | 分类显示所需的数据 | _Array_ | `[]` |
273
+ | mainActiveIndex | 左侧选中项的索引 | _number_ | `0` |
274
+ | max | 右侧项最大选中个数 | _number_ | _Infinity_ |
275
+ | selectedIcon | 自定义右侧栏选中状态的图标 | _string_ | `Checkmark` |
276
+
277
+ ### Events
278
+
279
+ | 事件名 | 说明 | 回调参数 |
280
+ | --------------- | -------------------------------- | -------------------------------------- |
281
+ | onClickItem | 右侧选择项被点击时,会触发的事件 | event.detail: 该点击项的数据 |
282
+ | onClickNav | 左侧导航点击时,触发的事件 | event.detail.index:被点击的导航的索引 |
283
+
284
+ ### Slots
285
+
286
+ | 名称 | 说明 |
287
+ | ------- | ------------------------------------------------ |
288
+ | content | 自定义右侧区域内容,如果存在 items,则插入在顶部 |
289
+
290
+ ### items 数据结构
291
+
292
+ `items` 整体为一个数组,数组内包含一系列描述分类的对象。每个分类里,text 表示当前分类的名称。options 表示分类里的可选项,为数组结构,id 被用来唯一标识每个选项。
293
+
294
+ ```javascript
295
+ [
296
+ {
297
+ // 导航名称
298
+ text: '所有城市',
299
+ // 导航名称右上角徽标
300
+ badge: 3,
301
+ // 是否在导航名称右上角显示小红点
302
+ dot: true,
303
+ // 禁用选项
304
+ disabled: false,
305
+ // 该导航下所有的可选项
306
+ options: [
307
+ {
308
+ // 名称
309
+ text: '温州',
310
+ // id,作为匹配选中状态的标识
311
+ id: 1,
312
+ // 禁用选项
313
+ disabled: true,
314
+ },
315
+ {
316
+ text: '杭州',
317
+ id: 2,
318
+ },
319
+ ],
320
+ },
321
+ ];
322
+ ```
323
+
324
+ ### 外部样式类
325
+
326
+ | 类名 | 说明 |
327
+ | ---------------------- | ------------------ |
328
+ | contentActiveClass | 右侧选项选中样式类 |
329
+ | contentDisabledClass | 右侧选项禁用样式类 |
330
+ | contentItemClass | 右侧选项样式类 |
331
+ | mainActiveClass | 左侧选项选中样式类 |
332
+ | mainDisabledClass | 左侧选项禁用样式类 |
333
+ | mainItemClass | 左侧选项样式类 |
334
+
335
+ ### 样式变量
336
+
337
+ 组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 [ConfigProvider 组件](/material/smartui?comId=config-provider)。
338
+
339
+ | 名称 | 默认值 | 描述 |
340
+ | ----------------------------- | -------------------------------------- | ---- |
341
+ | --tree-select-font-color | _var(--app-B6-N1, rgba(0, 0, 0, 1))_ | 树形选择字体颜色 |
342
+ | --tree-select-font-size | _14px_ | 树形选择字体大小 |
343
+ | --tree-select-nav-background-color | _var(--app-B3, #ffffff)_ | 树形选择导航背景颜色 |
344
+ | --tree-select-content-background-color | _var(--app-B3, #ffffff)_ | 树形选择内容背景颜色 |
345
+ | --tree-select-nav-item-padding | _@padding-sm @padding-xs @padding-sm @padding-sm_ | 树形选择导航项内边距 |
346
+ | --tree-select-item-height | _44px_ | 树形选择项高度 |
347
+ | --tree-select-item-active-color | _#ee0a24_ | 活动状态选择项颜色 |
348
+ | --tree-select-item-disabled-color | _var(--app-B6-N4, rgba(0, 0, 0, 0.4))_ | 禁用状态选择项颜色 |
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@ray-js/smart-ui",
3
- "version": "2.13.2-beta-0",
3
+ "version": "2.13.2-beta-2",
4
4
  "description": "轻量、可靠的智能小程序 UI 组件库",
5
5
  "scripts": {
6
6
  "syncMiniappData": "node ./build/syncMiniappData.js",
7
7
  "dev": "tsc -w -p tsconfig.build.es.json",
8
- "build": "rimraf es lib && tsc -p tsconfig.build.es.json && tsc -p tsconfig.build.lib.json",
8
+ "build": "rimraf es lib && tsc -p tsconfig.build.es.json && tsc -p tsconfig.build.lib.json && node ./build/postBuild.js",
9
9
  "build:tuya": "yarn build && cd ./example && ray build --target=tuya"
10
10
  },
11
11
  "main": "lib/index.js",
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@ray-js/components-ty-slider": "^0.3.9",
45
- "@tuya-miniapp/smart-ui": "2.13.2-beta-0",
45
+ "@tuya-miniapp/smart-ui": "2.13.2-beta-2",
46
46
  "lodash-es": "^4.17.21"
47
47
  },
48
48
  "devDependencies": {