@fjyueke/bify-mcp 1.0.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 (210) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +34 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +248 -0
  5. package/metaData/components/action-sheet/api.md +74 -0
  6. package/metaData/components/action-sheet/doc.md +243 -0
  7. package/metaData/components/action-sheet/example/index.tsx +116 -0
  8. package/metaData/components/area-picker/api.md +25 -0
  9. package/metaData/components/area-picker/doc.md +132 -0
  10. package/metaData/components/area-picker/example/index.tsx +60 -0
  11. package/metaData/components/avatar/api.md +19 -0
  12. package/metaData/components/avatar/doc.md +170 -0
  13. package/metaData/components/avatar/example/index.tsx +76 -0
  14. package/metaData/components/back-top/api.md +21 -0
  15. package/metaData/components/back-top/doc.md +142 -0
  16. package/metaData/components/back-top/example/index.tsx +96 -0
  17. package/metaData/components/backdrop/api.md +20 -0
  18. package/metaData/components/backdrop/doc.md +98 -0
  19. package/metaData/components/backdrop/example/index.tsx +33 -0
  20. package/metaData/components/badge/api.md +10 -0
  21. package/metaData/components/badge/doc.md +169 -0
  22. package/metaData/components/badge/example/index.tsx +81 -0
  23. package/metaData/components/button/api.md +31 -0
  24. package/metaData/components/button/doc.md +235 -0
  25. package/metaData/components/button/example/index.tsx +235 -0
  26. package/metaData/components/calendar/api.md +62 -0
  27. package/metaData/components/calendar/doc.md +516 -0
  28. package/metaData/components/calendar/example/index.tsx +501 -0
  29. package/metaData/components/cascader/api.md +55 -0
  30. package/metaData/components/cascader/doc.md +358 -0
  31. package/metaData/components/cascader/example/index.tsx +159 -0
  32. package/metaData/components/cell/api.md +37 -0
  33. package/metaData/components/cell/doc.md +158 -0
  34. package/metaData/components/cell/example/index.tsx +44 -0
  35. package/metaData/components/checkbox/api.md +35 -0
  36. package/metaData/components/checkbox/doc.md +203 -0
  37. package/metaData/components/checkbox/example/index.tsx +94 -0
  38. package/metaData/components/circle/api.md +17 -0
  39. package/metaData/components/circle/doc.md +123 -0
  40. package/metaData/components/circle/example/index.tsx +81 -0
  41. package/metaData/components/collapse/api.md +31 -0
  42. package/metaData/components/collapse/doc.md +142 -0
  43. package/metaData/components/collapse/example/index.tsx +81 -0
  44. package/metaData/components/config-provider/api.md +7 -0
  45. package/metaData/components/config-provider/doc.md +193 -0
  46. package/metaData/components/config-provider/example/index.tsx +54 -0
  47. package/metaData/components/countdown/api.md +46 -0
  48. package/metaData/components/countdown/doc.md +167 -0
  49. package/metaData/components/countdown/example/index.tsx +70 -0
  50. package/metaData/components/datetime-picker/api.md +25 -0
  51. package/metaData/components/datetime-picker/doc.md +317 -0
  52. package/metaData/components/datetime-picker/example/index.tsx +265 -0
  53. package/metaData/components/dialog/api.md +66 -0
  54. package/metaData/components/dialog/doc.md +292 -0
  55. package/metaData/components/dialog/example/index.tsx +138 -0
  56. package/metaData/components/divider/api.md +15 -0
  57. package/metaData/components/divider/doc.md +108 -0
  58. package/metaData/components/divider/example/index.tsx +45 -0
  59. package/metaData/components/dropdown-menu/api.md +37 -0
  60. package/metaData/components/dropdown-menu/doc.md +279 -0
  61. package/metaData/components/dropdown-menu/example/index.tsx +182 -0
  62. package/metaData/components/empty/api.md +20 -0
  63. package/metaData/components/empty/doc.md +126 -0
  64. package/metaData/components/empty/example/index.tsx +66 -0
  65. package/metaData/components/field/api.md +10 -0
  66. package/metaData/components/field/doc.md +274 -0
  67. package/metaData/components/field/example/index.tsx +203 -0
  68. package/metaData/components/fixed-nav/api.md +21 -0
  69. package/metaData/components/fixed-nav/doc.md +196 -0
  70. package/metaData/components/fixed-nav/example/index.tsx +80 -0
  71. package/metaData/components/fixed-view/api.md +10 -0
  72. package/metaData/components/fixed-view/doc.md +25 -0
  73. package/metaData/components/fixed-view/example/index.tsx +12 -0
  74. package/metaData/components/flex/api.md +18 -0
  75. package/metaData/components/flex/doc.md +103 -0
  76. package/metaData/components/flex/example/index.tsx +58 -0
  77. package/metaData/components/floating-bubble/api.md +18 -0
  78. package/metaData/components/floating-bubble/doc.md +94 -0
  79. package/metaData/components/floating-bubble/example/index.tsx +55 -0
  80. package/metaData/components/floating-panel/api.md +19 -0
  81. package/metaData/components/floating-panel/doc.md +174 -0
  82. package/metaData/components/floating-panel/example/index.tsx +131 -0
  83. package/metaData/components/form/api.md +124 -0
  84. package/metaData/components/form/doc.md +759 -0
  85. package/metaData/components/form/example/index.tsx +222 -0
  86. package/metaData/components/grid/api.md +28 -0
  87. package/metaData/components/grid/doc.md +167 -0
  88. package/metaData/components/grid/example/index.tsx +80 -0
  89. package/metaData/components/image/api.md +42 -0
  90. package/metaData/components/image/doc.md +117 -0
  91. package/metaData/components/image/example/index.tsx +76 -0
  92. package/metaData/components/index-list/api.md +39 -0
  93. package/metaData/components/index-list/doc.md +176 -0
  94. package/metaData/components/index-list/example/index.tsx +110 -0
  95. package/metaData/components/list/api.md +30 -0
  96. package/metaData/components/list/doc.md +317 -0
  97. package/metaData/components/list/example/index.tsx +218 -0
  98. package/metaData/components/loading/api.md +10 -0
  99. package/metaData/components/loading/doc.md +113 -0
  100. package/metaData/components/loading/example/index.tsx +47 -0
  101. package/metaData/components/navbar/api.md +26 -0
  102. package/metaData/components/navbar/doc.md +85 -0
  103. package/metaData/components/navbar/example/index.tsx +28 -0
  104. package/metaData/components/notice-bar/api.md +28 -0
  105. package/metaData/components/notice-bar/doc.md +154 -0
  106. package/metaData/components/notice-bar/example/index.tsx +107 -0
  107. package/metaData/components/notify/api.md +28 -0
  108. package/metaData/components/notify/doc.md +140 -0
  109. package/metaData/components/notify/example/index.tsx +89 -0
  110. package/metaData/components/number-keyboard/api.md +21 -0
  111. package/metaData/components/number-keyboard/doc.md +247 -0
  112. package/metaData/components/number-keyboard/example/index.tsx +201 -0
  113. package/metaData/components/pagination/api.md +18 -0
  114. package/metaData/components/pagination/doc.md +113 -0
  115. package/metaData/components/pagination/example/index.tsx +73 -0
  116. package/metaData/components/password-input/api.md +25 -0
  117. package/metaData/components/password-input/doc.md +126 -0
  118. package/metaData/components/password-input/example/index.tsx +124 -0
  119. package/metaData/components/picker/api.md +61 -0
  120. package/metaData/components/picker/doc.md +336 -0
  121. package/metaData/components/picker/example/index.tsx +232 -0
  122. package/metaData/components/popup/api.md +48 -0
  123. package/metaData/components/popup/doc.md +150 -0
  124. package/metaData/components/popup/example/index.tsx +214 -0
  125. package/metaData/components/progress/api.md +11 -0
  126. package/metaData/components/progress/doc.md +105 -0
  127. package/metaData/components/progress/example/index.tsx +58 -0
  128. package/metaData/components/pull-refresh/api.md +18 -0
  129. package/metaData/components/pull-refresh/doc.md +198 -0
  130. package/metaData/components/pull-refresh/example/index.tsx +153 -0
  131. package/metaData/components/radio/api.md +26 -0
  132. package/metaData/components/radio/doc.md +201 -0
  133. package/metaData/components/radio/example/index.tsx +103 -0
  134. package/metaData/components/rate/api.md +23 -0
  135. package/metaData/components/rate/doc.md +122 -0
  136. package/metaData/components/rate/example/index.tsx +36 -0
  137. package/metaData/components/rolling-text/api.md +23 -0
  138. package/metaData/components/rolling-text/doc.md +153 -0
  139. package/metaData/components/rolling-text/example/index.tsx +150 -0
  140. package/metaData/components/safe-area/api.md +8 -0
  141. package/metaData/components/safe-area/doc.md +30 -0
  142. package/metaData/components/safe-area/example/index.tsx +16 -0
  143. package/metaData/components/search/api.md +35 -0
  144. package/metaData/components/search/doc.md +185 -0
  145. package/metaData/components/search/example/index.tsx +101 -0
  146. package/metaData/components/share-sheet/api.md +48 -0
  147. package/metaData/components/share-sheet/doc.md +215 -0
  148. package/metaData/components/share-sheet/example/index.tsx +143 -0
  149. package/metaData/components/sidebar/api.md +28 -0
  150. package/metaData/components/sidebar/doc.md +122 -0
  151. package/metaData/components/sidebar/example/index.tsx +58 -0
  152. package/metaData/components/signature/api.md +19 -0
  153. package/metaData/components/signature/doc.md +115 -0
  154. package/metaData/components/signature/example/index.tsx +56 -0
  155. package/metaData/components/skeleton/api.md +45 -0
  156. package/metaData/components/skeleton/doc.md +131 -0
  157. package/metaData/components/skeleton/example/index.tsx +80 -0
  158. package/metaData/components/slider/api.md +28 -0
  159. package/metaData/components/slider/doc.md +151 -0
  160. package/metaData/components/slider/example/index.tsx +54 -0
  161. package/metaData/components/space/api.md +12 -0
  162. package/metaData/components/space/doc.md +125 -0
  163. package/metaData/components/space/example/index.tsx +75 -0
  164. package/metaData/components/stepper/api.md +37 -0
  165. package/metaData/components/stepper/doc.md +152 -0
  166. package/metaData/components/stepper/example/index.tsx +45 -0
  167. package/metaData/components/steps/api.md +9 -0
  168. package/metaData/components/steps/doc.md +143 -0
  169. package/metaData/components/steps/example/index.tsx +93 -0
  170. package/metaData/components/sticky/api.md +16 -0
  171. package/metaData/components/sticky/doc.md +87 -0
  172. package/metaData/components/sticky/example/index.tsx +62 -0
  173. package/metaData/components/swipe-cell/api.md +19 -0
  174. package/metaData/components/swipe-cell/doc.md +105 -0
  175. package/metaData/components/swipe-cell/example/index.tsx +62 -0
  176. package/metaData/components/swiper/api.md +22 -0
  177. package/metaData/components/swiper/doc.md +228 -0
  178. package/metaData/components/swiper/example/index.tsx +118 -0
  179. package/metaData/components/switch/api.md +17 -0
  180. package/metaData/components/switch/doc.md +110 -0
  181. package/metaData/components/switch/example/index.tsx +57 -0
  182. package/metaData/components/tabbar/api.md +27 -0
  183. package/metaData/components/tabbar/doc.md +160 -0
  184. package/metaData/components/tabbar/example/index.tsx +99 -0
  185. package/metaData/components/tabs/api.md +36 -0
  186. package/metaData/components/tabs/doc.md +307 -0
  187. package/metaData/components/tabs/example/index.tsx +231 -0
  188. package/metaData/components/tag/api.md +17 -0
  189. package/metaData/components/tag/doc.md +162 -0
  190. package/metaData/components/tag/example/index.tsx +84 -0
  191. package/metaData/components/text-ellipsis/api.md +26 -0
  192. package/metaData/components/text-ellipsis/doc.md +135 -0
  193. package/metaData/components/text-ellipsis/example/index.tsx +44 -0
  194. package/metaData/components/timeline/api.md +20 -0
  195. package/metaData/components/timeline/doc.md +210 -0
  196. package/metaData/components/timeline/example/index.tsx +145 -0
  197. package/metaData/components/toast/api.md +39 -0
  198. package/metaData/components/toast/doc.md +256 -0
  199. package/metaData/components/toast/example/index.tsx +136 -0
  200. package/metaData/components/tree-select/api.md +19 -0
  201. package/metaData/components/tree-select/doc.md +185 -0
  202. package/metaData/components/tree-select/example/index.tsx +112 -0
  203. package/metaData/components/uploader/api.md +32 -0
  204. package/metaData/components/uploader/doc.md +340 -0
  205. package/metaData/components/uploader/example/index.tsx +222 -0
  206. package/metaData/components/watermark/api.md +18 -0
  207. package/metaData/components/watermark/doc.md +97 -0
  208. package/metaData/components/watermark/example/index.tsx +62 -0
  209. package/metaData/components-index.json +274 -0
  210. package/package.json +56 -0
@@ -0,0 +1,136 @@
1
+ import { Cell, Image, Loading, Toast, Switch } from "@fjyueke/bify-core"
2
+ import { LikeOutlined } from "@fjyueke/bify-icons"
3
+ import Block from "../../../components/block"
4
+ import Page from "../../../components/page"
5
+
6
+ import "./index.scss"
7
+
8
+ let t1
9
+ let t2
10
+
11
+ export default function ToastDemo() {
12
+
13
+ return (
14
+ <Page title="Toast 轻提示" className="toast-demo">
15
+ <Block variant="card" title="基础用法">
16
+ <Cell
17
+ clickable
18
+ title="文字提示"
19
+ isLink
20
+ onClick={() => Toast.open({ type: "text", message: "文字提示" })}
21
+ />
22
+ <Cell
23
+ clickable
24
+ title="加载提示"
25
+ isLink
26
+ onClick={() => Toast.open({ type: "loading", message: "加载中..." })}
27
+ />
28
+ <Cell
29
+ clickable
30
+ title="成功提示"
31
+ isLink
32
+ onClick={() => Toast.open({ type: "success", message: "成功文案" })}
33
+ />
34
+ <Cell
35
+ clickable
36
+ title="失败提示"
37
+ isLink
38
+ onClick={() => Toast.open({ type: "fail", message: "失败文案" })}
39
+ />
40
+ </Block>
41
+ <Block variant="card" title="自定义图标">
42
+ <Cell
43
+ clickable
44
+ title="自定义图标"
45
+ isLink
46
+ onClick={() => Toast.open({ message: "自定义图标", icon: <LikeOutlined /> })}
47
+ />
48
+ <Cell
49
+ clickable
50
+ title="自定义图片"
51
+ isLink
52
+ onClick={() =>
53
+ Toast.open({
54
+ message: "自定义图片",
55
+ icon: (
56
+ <Image
57
+ style={{
58
+ width: "40px",
59
+ height: "40px",
60
+ }}
61
+ src="https://img01.yzcdn.cn/vant/logo.png"
62
+ />
63
+ ),
64
+ })
65
+ }
66
+ />
67
+ <Cell
68
+ clickable
69
+ title="自定义加载图标"
70
+ isLink
71
+ onClick={() => Toast.open({ message: "加载中...", icon: <Loading type="spinner" /> })}
72
+ />
73
+ </Block>
74
+ <Block variant="card" title="自定义位置">
75
+ <Cell
76
+ clickable
77
+ title="顶部展示"
78
+ isLink
79
+ onClick={() =>
80
+ Toast.open({
81
+ position: "top",
82
+ message: "顶部展示",
83
+ })
84
+ }
85
+ />
86
+ <Cell
87
+ clickable
88
+ title="底部展示"
89
+ isLink
90
+ onClick={() =>
91
+ Toast.open({
92
+ position: "bottom",
93
+ message: "底部展示",
94
+ })
95
+ }
96
+ />
97
+ </Block>
98
+ <Block variant="card" title="多例模式">
99
+ <Cell title="开启">
100
+ <Switch
101
+ style={{ display: "block", float: "right" }}
102
+ size={20}
103
+ onChange={v => {
104
+ Toast.allowMultiple(v)
105
+ }}
106
+ />
107
+ </Cell>
108
+ <Cell
109
+ title="第一个Toast"
110
+ isLink
111
+ onClick={() =>
112
+ (t1 = Toast.open({
113
+ type: "loading",
114
+ message: "第一个Toast",
115
+ duration: 0,
116
+ position: "top",
117
+ }))
118
+ }
119
+ />
120
+ <Cell
121
+ title="第二个Toast"
122
+ isLink
123
+ onClick={() =>
124
+ (t2 = Toast.open({
125
+ message: "第二个Toast",
126
+ duration: 0,
127
+ position: "bottom",
128
+ }))
129
+ }
130
+ />
131
+ <Cell title="清除第一个Toast" isLink onClick={() => Toast.close(t1)} />
132
+ <Cell title="清楚第二个Toast" isLink onClick={() => Toast.close(t2)} />
133
+ </Block>
134
+ </Page>
135
+ )
136
+ }
@@ -0,0 +1,19 @@
1
+ ## API
2
+
3
+ ### Props
4
+
5
+ | 参数 | 说明 | 类型 | 默认值 |
6
+ | --- | --- | --- | --- |
7
+ | defaultTabValue | 左侧默认选中项的索引 | _number \| string_ | `0` |
8
+ | tabValue | 左侧选中项的索引 | _number \| string_ | `0` |
9
+ | defaultValue | 右侧默认选中项的 value,支持传入数组 | _number \| string \|<br>(number \| string)[]_ | `0` |
10
+ | value | 右侧选中项的 value,支持传入数组 | _number \| string \|<br>(number \| string)[]_ | `0` |
11
+ | max | 右侧项最大选中个数 | _number \| string_ | `Infinity` |
12
+ | activeIcon | 自定义右侧栏选中状态的图标 | _ReactNode_ | `<Success />` |
13
+
14
+ ### Events
15
+
16
+ | 事件名 | 说明 | 回调参数 |
17
+ | ---------- | -------------------- | ------------------------- |
18
+ | onTabChange | 点击左侧导航时触发 | _value: any, tabObject: TreeSelect.TabObject_ |
19
+ | onChange | 点击右侧选择项时触发 | _any \| any[]_ |
@@ -0,0 +1,185 @@
1
+ # TreeSelect 分类选择
2
+
3
+ ### 介绍
4
+
5
+ 用于从一组相关联的数据集合中进行选择。
6
+
7
+ ### 引入
8
+
9
+ ```tsx
10
+ import { TreeSelect } from "@fjyueke/bify-core"
11
+ ```
12
+
13
+ ## 代码演示
14
+
15
+ ### 单选模式
16
+
17
+ `tabValue` 表示左侧高亮选项的索引,`value` 表示右侧高亮选项的 value。
18
+
19
+ ```tsx
20
+ import { TreeSelect } from "@fjyueke/bify-core"
21
+
22
+ function RadioTreeSelect() {
23
+ const [tabValue, setTabValue] = useState(0)
24
+ const [value, setValue] = useState(0)
25
+
26
+ return (
27
+ <TreeSelect tabValue={tabValue} value={value} onTabChange={setTabValue} onChange={setValue}>
28
+ <TreeSelect.Tab title="浙江">
29
+ <TreeSelect.Option value={0}>杭州</TreeSelect.Option>
30
+ <TreeSelect.Option value={1}>温州</TreeSelect.Option>
31
+ <TreeSelect.Option value={2} disabled>
32
+ 宁波
33
+ </TreeSelect.Option>
34
+ <TreeSelect.Option value={3}>义乌</TreeSelect.Option>
35
+ </TreeSelect.Tab>
36
+ <TreeSelect.Tab title="江苏">
37
+ <TreeSelect.Option value={4}>南京</TreeSelect.Option>
38
+ <TreeSelect.Option value={5}>无锡</TreeSelect.Option>
39
+ <TreeSelect.Option value={6}>徐州</TreeSelect.Option>
40
+ <TreeSelect.Option value={7}>苏州</TreeSelect.Option>
41
+ </TreeSelect.Tab>
42
+ <TreeSelect.Tab title="福建" disabled>
43
+ <TreeSelect.Option value={8}>泉州</TreeSelect.Option>
44
+ <TreeSelect.Option value={9}>厦门</TreeSelect.Option>
45
+ </TreeSelect.Tab>
46
+ </TreeSelect>
47
+ )
48
+ }
49
+ ```
50
+
51
+ ### 多选模式
52
+
53
+ `value` 为数组格式时,可以选中多个右侧选项。
54
+
55
+ ```tsx
56
+ import { TreeSelect } from "@fjyueke/bify-core"
57
+
58
+ function MultiselectTreeSelect() {
59
+ const [tabValue, setTabValue] = useState(0)
60
+ const [value, setValue] = useState([0, 1])
61
+
62
+ return (
63
+ <TreeSelect tabValue={tabValue} value={value} onTabChange={setTabValue} onChange={setValue}>
64
+ <TreeSelect.Tab title="浙江">
65
+ <TreeSelect.Option value={0}>杭州</TreeSelect.Option>
66
+ <TreeSelect.Option value={1}>温州</TreeSelect.Option>
67
+ <TreeSelect.Option value={2} disabled>
68
+ 宁波
69
+ </TreeSelect.Option>
70
+ <TreeSelect.Option value={3}>义乌</TreeSelect.Option>
71
+ </TreeSelect.Tab>
72
+ <TreeSelect.Tab title="江苏">
73
+ <TreeSelect.Option value={4}>南京</TreeSelect.Option>
74
+ <TreeSelect.Option value={5}>无锡</TreeSelect.Option>
75
+ <TreeSelect.Option value={6}>徐州</TreeSelect.Option>
76
+ <TreeSelect.Option value={7}>苏州</TreeSelect.Option>
77
+ </TreeSelect.Tab>
78
+ <TreeSelect.Tab title="福建" disabled>
79
+ <TreeSelect.Option value={8}>泉州</TreeSelect.Option>
80
+ <TreeSelect.Option value={9}>厦门</TreeSelect.Option>
81
+ </TreeSelect.Tab>
82
+ </TreeSelect>
83
+ )
84
+ }
85
+ ```
86
+
87
+ ### 自定义内容
88
+
89
+ 可以通过 `TreeSelect.Tab` 组件自定义右侧区域的内容。
90
+
91
+ ```tsx
92
+ import { TreeSelect } from "@fjyueke/bify-core"
93
+
94
+ function TreeSelectWithCustomContent() {
95
+ const [tabValue, setTabValue] = useState(0)
96
+
97
+ return (
98
+ <TreeSelect tabValue={tabValue} onTabChange={setTabValue}>
99
+ <TreeSelect.Tab title="分组 1">
100
+ <Image src="https://img.yzcdn.cn/vant/apple-1.jpg" />
101
+ </TreeSelect.Tab>
102
+ <TreeSelect.Tab title="分组 2">
103
+ <Image src="https://img.yzcdn.cn/vant/apple-2.jpg" />
104
+ </TreeSelect.Tab>
105
+ </TreeSelect>
106
+ )
107
+ }
108
+ ```
109
+
110
+ ### 徽标提示
111
+
112
+ 设置 `badge` 属性后,会在图标右上角展示相应的徽标。
113
+
114
+ ```tsx
115
+ import { TreeSelect } from "@fjyueke/bify-core"
116
+
117
+ function BadgeTreeSelect() {
118
+ const [tabValue, setTabValue] = useState(0)
119
+ const [value, setValue] = useState(0)
120
+
121
+ return (
122
+ <TreeSelect tabValue={tabValue} value={value} onTabChange={setTabValue} onChange={setValue}>
123
+ <TreeSelect.Tab badge title="浙江">
124
+ <TreeSelect.Option value={0}>杭州</TreeSelect.Option>
125
+ <TreeSelect.Option value={1}>温州</TreeSelect.Option>
126
+ <TreeSelect.Option value={2} disabled>
127
+ 宁波
128
+ </TreeSelect.Option>
129
+ <TreeSelect.Option value={3}>义乌</TreeSelect.Option>
130
+ </TreeSelect.Tab>
131
+ <TreeSelect.Tab badge="5" title="江苏">
132
+ <TreeSelect.Option value={4}>南京</TreeSelect.Option>
133
+ <TreeSelect.Option value={5}>无锡</TreeSelect.Option>
134
+ <TreeSelect.Option value={6}>徐州</TreeSelect.Option>
135
+ <TreeSelect.Option value={7}>苏州</TreeSelect.Option>
136
+ </TreeSelect.Tab>
137
+ <TreeSelect.Tab title="福建" disabled>
138
+ <TreeSelect.Option value={8}>泉州</TreeSelect.Option>
139
+ <TreeSelect.Option value={9}>厦门</TreeSelect.Option>n
140
+ </TreeSelect.Tab>
141
+ </TreeSelect>
142
+ )
143
+ }
144
+ ```
145
+
146
+ ## API
147
+
148
+ ### Props
149
+
150
+ | 参数 | 说明 | 类型 | 默认值 |
151
+ | --- | --- | --- | --- |
152
+ | defaultTabValue | 左侧默认选中项的索引 | _number \| string_ | `0` |
153
+ | tabValue | 左侧选中项的索引 | _number \| string_ | `0` |
154
+ | defaultValue | 右侧默认选中项的 value,支持传入数组 | _number \| string \|<br>(number \| string)[]_ | `0` |
155
+ | value | 右侧选中项的 value,支持传入数组 | _number \| string \|<br>(number \| string)[]_ | `0` |
156
+ | max | 右侧项最大选中个数 | _number \| string_ | `Infinity` |
157
+ | activeIcon | 自定义右侧栏选中状态的图标 | _ReactNode_ | `<Success />` |
158
+
159
+ ### Events
160
+
161
+ | 事件名 | 说明 | 回调参数 |
162
+ | ---------- | -------------------- | ------------------------- |
163
+ | onTabChange | 点击左侧导航时触发 | _value: any, tabObject: TreeSelect.TabObject_ |
164
+ | onChange | 点击右侧选择项时触发 | _any \| any[]_ |
165
+
166
+ ## 主题定制
167
+
168
+ ### 样式变量
169
+
170
+ 组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 [ConfigProvider](/components/config-provider/) 组件。
171
+
172
+ | 名称 | 默认值 | 描述 |
173
+ |----------------------------------------------|------------------------------------|-----|
174
+ | --tree-select-font-size | _var(--font-size-md)_ | - |
175
+ | --tree-select-sidebar-background-color | _var(--background-color)_ | - |
176
+ | --tree-select-content-background-color | _var(--white)_ | - |
177
+ | --tree-select-tab-padding | _14px * $hd var(--padding-sm)_ | - |
178
+ | --tree-select-option-padding | _0 32px * $hd 0 var(--padding-md)_ | - |
179
+ | --tree-select-option-font-weight | _var(--font-weight-bold)_ | - |
180
+ | --tree-select-option-line-height | _48px * $hd_ | - |
181
+ | --tree-select-option-active-color | _var(--danger-color)_ | - |
182
+ | --tree-select-option-active-background-color | _var(--active-color)_ | - |
183
+ | --tree-select-option-disabled-color | _var(--gray-5)_ | - |
184
+ | --tree-select-option-icon-active-right | _var(--padding-md, $padding-md)_ | - |
185
+ | --tree-select-option-icon-active-font-size | _16px * $hd_ | - |
@@ -0,0 +1,112 @@
1
+ import { Image, TreeSelect } from "@fjyueke/bify-core"
2
+ import Block from "../../../components/block"
3
+ import Page from "../../../components/page"
4
+
5
+ import "./index.scss"
6
+
7
+ function RadioTreeSelect() {
8
+ return (
9
+ <TreeSelect>
10
+ <TreeSelect.Tab title="浙江">
11
+ <TreeSelect.Option value={0}>杭州</TreeSelect.Option>
12
+ <TreeSelect.Option value={1}>温州</TreeSelect.Option>
13
+ <TreeSelect.Option value={2} disabled>
14
+ 宁波
15
+ </TreeSelect.Option>
16
+ <TreeSelect.Option value={3}>义乌</TreeSelect.Option>
17
+ </TreeSelect.Tab>
18
+ <TreeSelect.Tab title="江苏">
19
+ <TreeSelect.Option value={4}>南京</TreeSelect.Option>
20
+ <TreeSelect.Option value={5}>无锡</TreeSelect.Option>
21
+ <TreeSelect.Option value={6}>徐州</TreeSelect.Option>
22
+ <TreeSelect.Option value={7}>苏州</TreeSelect.Option>
23
+ </TreeSelect.Tab>
24
+ <TreeSelect.Tab title="福建" disabled>
25
+ <TreeSelect.Option value={8}>泉州</TreeSelect.Option>
26
+ <TreeSelect.Option value={9}>厦门</TreeSelect.Option>
27
+ </TreeSelect.Tab>
28
+ </TreeSelect>
29
+ )
30
+ }
31
+
32
+ function MultiselectTreeSelect() {
33
+ return (
34
+ <TreeSelect defaultValue={[0, 1]}>
35
+ <TreeSelect.Tab title="浙江">
36
+ <TreeSelect.Option value={0}>杭州</TreeSelect.Option>
37
+ <TreeSelect.Option value={1}>温州</TreeSelect.Option>
38
+ <TreeSelect.Option value={2} disabled>
39
+ 宁波
40
+ </TreeSelect.Option>
41
+ <TreeSelect.Option value={3}>义乌</TreeSelect.Option>
42
+ </TreeSelect.Tab>
43
+ <TreeSelect.Tab title="江苏">
44
+ <TreeSelect.Option value={4}>南京</TreeSelect.Option>
45
+ <TreeSelect.Option value={5}>无锡</TreeSelect.Option>
46
+ <TreeSelect.Option value={6}>徐州</TreeSelect.Option>
47
+ <TreeSelect.Option value={7}>苏州</TreeSelect.Option>
48
+ </TreeSelect.Tab>
49
+ <TreeSelect.Tab title="福建" disabled>
50
+ <TreeSelect.Option value={8}>泉州</TreeSelect.Option>
51
+ <TreeSelect.Option value={9}>厦门</TreeSelect.Option>
52
+ </TreeSelect.Tab>
53
+ </TreeSelect>
54
+ )
55
+ }
56
+
57
+ function TreeSelectWithCustomContent() {
58
+ return (
59
+ <TreeSelect>
60
+ <TreeSelect.Tab title="分组 1">
61
+ <Image src="https://img.yzcdn.cn/vant/apple-1.jpg" />
62
+ </TreeSelect.Tab>
63
+ <TreeSelect.Tab title="分组 2">
64
+ <Image src="https://img.yzcdn.cn/vant/apple-2.jpg" />
65
+ </TreeSelect.Tab>
66
+ </TreeSelect>
67
+ )
68
+ }
69
+
70
+ function BadgeTreeSelect() {
71
+ return (
72
+ <TreeSelect>
73
+ <TreeSelect.Tab badge title="浙江">
74
+ <TreeSelect.Option value={0}>杭州</TreeSelect.Option>
75
+ <TreeSelect.Option value={1}>温州</TreeSelect.Option>
76
+ <TreeSelect.Option value={2} disabled>
77
+ 宁波
78
+ </TreeSelect.Option>
79
+ <TreeSelect.Option value={3}>义乌</TreeSelect.Option>
80
+ </TreeSelect.Tab>
81
+ <TreeSelect.Tab badge="5" title="江苏">
82
+ <TreeSelect.Option value={4}>南京</TreeSelect.Option>
83
+ <TreeSelect.Option value={5}>无锡</TreeSelect.Option>
84
+ <TreeSelect.Option value={6}>徐州</TreeSelect.Option>
85
+ <TreeSelect.Option value={7}>苏州</TreeSelect.Option>
86
+ </TreeSelect.Tab>
87
+ <TreeSelect.Tab title="福建" disabled>
88
+ <TreeSelect.Option value={8}>泉州</TreeSelect.Option>
89
+ <TreeSelect.Option value={9}>厦门</TreeSelect.Option>n
90
+ </TreeSelect.Tab>
91
+ </TreeSelect>
92
+ )
93
+ }
94
+
95
+ export default function TreeSelectDemo() {
96
+ return (
97
+ <Page title="TreeSelect 分类选择" className="tree-select-demo">
98
+ <Block title="单选模式">
99
+ <RadioTreeSelect />
100
+ </Block>
101
+ <Block title="多选模式">
102
+ <MultiselectTreeSelect />
103
+ </Block>
104
+ <Block title="自定义内容">
105
+ <TreeSelectWithCustomContent />
106
+ </Block>
107
+ <Block title="徽标提示">
108
+ <BadgeTreeSelect />
109
+ </Block>
110
+ </Page>
111
+ )
112
+ }
@@ -0,0 +1,32 @@
1
+ ## API
2
+
3
+ ### Props
4
+
5
+ | 参数 | 说明 | 类型 | 默认值 |
6
+ | --- | --- | --- | --- |
7
+ | defaultValue | 默认已上传的文件列表 | _UploadFile[]_ | - |
8
+ | value | 已上传的文件列表 | _UploadFile[]_ | - |
9
+ | name | 标识符,可以在回调函数的第二项参数中获取 | _number \| string_ | - |
10
+ | multiple | 是否开启图片多选,部分安卓机型不支持 | _boolean_ | `false` |
11
+ | disabled | 是否禁用文件上传 | _boolean_ | `false` |
12
+ | readonly | 是否将上传区域设置为只读状态 | _boolean_ | `false` |
13
+ | removable | 是否展示删除按钮 | _boolean_ | `true` |
14
+ | maxFiles | 文件上传数量限制 | _number \| string_ | - |
15
+
16
+ ### Events
17
+
18
+ | 事件名 | 说明 | 回调参数 |
19
+ | --------------------- | ---------------------- | ------------------- |
20
+ | onUpload | 点击上传区域时触发 | _event: ITouchEvent_ |
21
+ | onChange | 已上传图片列表改变后触发 | _file: UploadFile \| UploadFile[]_ |
22
+
23
+
24
+ ### UploadFile
25
+ | 参数 | 说明 | 类型 |
26
+ | -------------------- | ---------------------- | ------------------- |
27
+ | url | 下载地址 | _string_ |
28
+ | type | 文件类型(包含image时显示图标,其他显示) | _string_ |
29
+ | name | 文件名称 | _string_ |
30
+ | removable | 是否可删除 | _boolean_ |
31
+ | status | 上传状态(uploading|failed|completed) | _string_ |
32
+ | message | uploading|failed 状态时文字提示 | _string_ |