antd-solid 0.0.2 → 0.0.3

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 (105) hide show
  1. package/.eslintignore +2 -0
  2. package/.husky/pre-commit +4 -0
  3. package/.vscode/settings.json +1 -1
  4. package/docs/.vitepress/components/Code.vue +127 -11
  5. package/docs/.vitepress/config.ts +39 -1
  6. package/docs/.vitepress/theme/index.css +4 -0
  7. package/docs/.vitepress/theme/index.ts +0 -1
  8. package/docs/components/{Button.tsx → button/Base.tsx} +1 -0
  9. package/docs/components/button/Danger.tsx +21 -0
  10. package/docs/components/button.md +19 -7
  11. package/docs/components/collapse/Base.tsx +25 -0
  12. package/docs/components/collapse.md +26 -0
  13. package/docs/components/color-picker/Base.tsx +14 -0
  14. package/docs/components/color-picker.md +26 -0
  15. package/docs/components/compact/Base.tsx +27 -0
  16. package/docs/components/compact.md +26 -0
  17. package/docs/components/date-picker/Base.tsx +15 -0
  18. package/docs/components/date-picker.md +26 -0
  19. package/docs/components/empty/Base.tsx +8 -0
  20. package/docs/components/empty/PRESENTED_IMAGE_SIMPLE.tsx +8 -0
  21. package/docs/components/empty.md +32 -0
  22. package/docs/components/form/Base.tsx +63 -0
  23. package/docs/components/form.md +27 -0
  24. package/docs/components/image/Base.tsx +13 -0
  25. package/docs/components/image.md +26 -0
  26. package/docs/components/input/AddonBeforeAndAfter.tsx +14 -0
  27. package/docs/components/input/Base.tsx +15 -0
  28. package/docs/components/input/Disabled.tsx +19 -0
  29. package/docs/components/input/PrefixAndSuffix.tsx +14 -0
  30. package/docs/components/input/Status.tsx +25 -0
  31. package/docs/components/input/TextArea.tsx +14 -0
  32. package/docs/components/input-number/Base.tsx +15 -0
  33. package/docs/components/input-number/MinMax.tsx +17 -0
  34. package/docs/components/input-number.md +34 -0
  35. package/docs/components/input.md +57 -0
  36. package/docs/components/modal/Base.tsx +35 -0
  37. package/docs/components/modal.md +26 -0
  38. package/docs/components/popconfirm/Base.tsx +25 -0
  39. package/docs/components/popconfirm.md +26 -0
  40. package/docs/components/popover/Base.tsx +19 -0
  41. package/docs/components/popover.md +26 -0
  42. package/docs/components/progress/Base.tsx +16 -0
  43. package/docs/components/progress.md +26 -0
  44. package/docs/components/radio/Base.tsx +10 -0
  45. package/docs/components/radio.md +26 -0
  46. package/docs/components/segmented/Base.tsx +10 -0
  47. package/docs/components/segmented/Block.tsx +10 -0
  48. package/docs/components/segmented/Disabled.tsx +28 -0
  49. package/docs/components/segmented.md +38 -0
  50. package/docs/components/select/AllowClear.tsx +18 -0
  51. package/docs/components/select/Base.tsx +17 -0
  52. package/docs/components/select.md +35 -0
  53. package/docs/components/switch/Base.tsx +14 -0
  54. package/docs/components/switch.md +26 -0
  55. package/docs/components/{Table.tsx → table/Base.tsx} +2 -2
  56. package/docs/components/table.md +12 -6
  57. package/docs/components/tabs/Base.tsx +25 -0
  58. package/docs/components/tabs/Segment.tsx +25 -0
  59. package/docs/components/tabs.md +33 -0
  60. package/docs/components/tooltip/Base.tsx +12 -0
  61. package/docs/components/tooltip/Placement.tsx +90 -0
  62. package/docs/components/tooltip.md +32 -0
  63. package/docs/components/tree/Base.tsx +45 -0
  64. package/docs/components/tree.md +26 -0
  65. package/global.d.ts +9 -0
  66. package/package.json +29 -14
  67. package/patches/vitepress@1.0.0-rc.4.patch +60 -0
  68. package/rollup.config.js +60 -20
  69. package/scripts/annotationNonProductionCode.js +30 -0
  70. package/scripts/cancelAnnotationNonProductionCode.js +30 -0
  71. package/src/Button.tsx +51 -12
  72. package/src/Collapse/index.tsx +86 -0
  73. package/src/ColorPicker.tsx +6 -61
  74. package/src/Compact.tsx +15 -0
  75. package/src/Empty/PRESENTED_IMAGE_SIMPLE.tsx +15 -0
  76. package/src/Empty/assets/EmptySvg.tsx +43 -0
  77. package/src/Empty/assets/SimpleEmptySvg.tsx +16 -0
  78. package/src/Empty/index.tsx +20 -0
  79. package/src/Input.tsx +154 -62
  80. package/src/InputNumber.tsx +68 -62
  81. package/src/Modal.tsx +90 -62
  82. package/src/Popconfirm.tsx +5 -3
  83. package/src/Segmented/index.tsx +95 -0
  84. package/src/Select.tsx +125 -3
  85. package/src/Switch.tsx +1 -1
  86. package/src/Table.tsx +36 -29
  87. package/src/Tabs.tsx +88 -45
  88. package/src/Tooltip.tsx +233 -87
  89. package/src/Tree.tsx +4 -4
  90. package/src/form/Form.tsx +94 -0
  91. package/src/form/FormItem.tsx +139 -0
  92. package/src/form/context.ts +16 -0
  93. package/src/form/index.ts +13 -0
  94. package/src/hooks/createControllableValue.ts +9 -6
  95. package/src/index.ts +12 -5
  96. package/src/types/index.ts +5 -0
  97. package/src/utils/EventEmitter.ts +15 -0
  98. package/src/utils/component.tsx +1 -1
  99. package/src/utils/solid.ts +8 -3
  100. package/src/utils/zh_CN.ts +236 -0
  101. package/tsconfig.json +6 -4
  102. package/unocss.config.ts +90 -6
  103. package/src/Button.css +0 -14
  104. package/src/Form.tsx +0 -98
  105. package/src/index.css +0 -21
@@ -0,0 +1,13 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Image } from 'antd-solid'
3
+
4
+ const Index: Component = () => {
5
+ return (
6
+ <Image
7
+ width={200}
8
+ src="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png"
9
+ />
10
+ )
11
+ }
12
+
13
+ export default Index
@@ -0,0 +1,26 @@
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ # Image 图片 {#title}
6
+
7
+ 可预览的图片。
8
+
9
+ ## 代码演示
10
+
11
+ ### 基本
12
+
13
+ 单击图像可以放大显示。
14
+
15
+ <Code path="image/Base" />
16
+
17
+ ## API
18
+
19
+ ### Image
20
+
21
+ <div class="vp-table">
22
+
23
+ | 参数 | 说明 | 类型 | 默认值
24
+ | ----------- | ----------- | ----------- | ----------- |
25
+
26
+ </div>
@@ -0,0 +1,14 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Input } from 'antd-solid'
3
+
4
+ const AddonBeforeAndAfter: Component = () => {
5
+ return (
6
+ <div class='ant-flex ant-flex-col ant-gap-8px'>
7
+ <Input addonBefore="http://" addonAfter=".com" defaultValue="mysite" />
8
+ <Input addonBefore="http://" defaultValue="mysite" />
9
+ <Input addonAfter=".com" defaultValue="mysite" />
10
+ </div>
11
+ )
12
+ }
13
+
14
+ export default AddonBeforeAndAfter
@@ -0,0 +1,15 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Input } from 'antd-solid'
3
+
4
+ const Base: Component = () => {
5
+ return (
6
+ <Input
7
+ placeholder="Basic usage"
8
+ onChange={e => {
9
+ console.log('onChange', e.target.value)
10
+ }}
11
+ />
12
+ )
13
+ }
14
+
15
+ export default Base
@@ -0,0 +1,19 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Input } from 'antd-solid'
3
+
4
+ const App: Component = () => {
5
+ return (
6
+ <div
7
+ style={{
8
+ display: 'flex',
9
+ 'flex-direction': 'column',
10
+ gap: '8px',
11
+ }}
12
+ >
13
+ <Input disabled placeholder="disabled" />
14
+ <Input.TextArea disabled placeholder="disabled" />
15
+ </div>
16
+ )
17
+ }
18
+
19
+ export default App
@@ -0,0 +1,14 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Input } from 'antd-solid'
3
+
4
+ const PrefixAndSuffix: Component = () => {
5
+ return (
6
+ <div class="ant-flex ant-flex-col ant-gap-8px">
7
+ <Input prefix="http://" suffix=".com" defaultValue="mysite" />
8
+ <Input prefix="http://" defaultValue="mysite" />
9
+ <Input suffix=".com" defaultValue="mysite" />
10
+ </div>
11
+ )
12
+ }
13
+
14
+ export default PrefixAndSuffix
@@ -0,0 +1,25 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Input } from 'antd-solid'
3
+
4
+ const Status: Component = () => {
5
+ return (
6
+ <div class="ant-flex ant-flex-col ant-gap-8px">
7
+ <Input
8
+ placeholder="Error"
9
+ status="error"
10
+ onChange={e => {
11
+ console.log('onChange', e.target.value)
12
+ }}
13
+ />
14
+ <Input
15
+ placeholder="Warning"
16
+ status="warning"
17
+ onChange={e => {
18
+ console.log('onChange', e.target.value)
19
+ }}
20
+ />
21
+ </div>
22
+ )
23
+ }
24
+
25
+ export default Status
@@ -0,0 +1,14 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Input } from 'antd-solid'
3
+
4
+ const TextArea: Component = () => {
5
+ return (
6
+ <Input.TextArea
7
+ onChange={e => {
8
+ console.log('onChange', e.target.value)
9
+ }}
10
+ />
11
+ )
12
+ }
13
+
14
+ export default TextArea
@@ -0,0 +1,15 @@
1
+ import { type Component } from 'solid-js'
2
+ import { InputNumber } from 'antd-solid'
3
+
4
+ const Base: Component = () => {
5
+ return (
6
+ <InputNumber
7
+ placeholder="请输入"
8
+ onChange={value => {
9
+ console.log('onChange', value)
10
+ }}
11
+ />
12
+ )
13
+ }
14
+
15
+ export default Base
@@ -0,0 +1,17 @@
1
+ import { type Component } from 'solid-js'
2
+ import { InputNumber } from 'antd-solid'
3
+
4
+ const Index: Component = () => {
5
+ return (
6
+ <InputNumber
7
+ min={1}
8
+ max={10}
9
+ placeholder="最小值 & 最大值"
10
+ onChange={value => {
11
+ console.log('onChange', value)
12
+ }}
13
+ />
14
+ )
15
+ }
16
+
17
+ export default Index
@@ -0,0 +1,34 @@
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ # InputNumber 数字输入框 {#title}
6
+
7
+ 通过鼠标或键盘,输入范围内的数值。
8
+
9
+ ## 代码演示
10
+
11
+ ### 基本用法
12
+
13
+ 数字输入框。
14
+
15
+ <Code path="input-number/Base" />
16
+
17
+ ### 最小值 & 最大值
18
+
19
+ 你可以设定最小值和最大值。
20
+
21
+ <Code path="input-number/MinMax" />
22
+
23
+ ## API
24
+
25
+ ### InputNumber
26
+
27
+ <div class="vp-table">
28
+
29
+ | 参数 | 说明 | 类型 | 默认值
30
+ | ----------- | ----------- | ----------- | ----------- |
31
+ | max | 最大值 | number | Infinity |
32
+ | min | 最小值 | number | -Infinity |
33
+
34
+ </div>
@@ -0,0 +1,57 @@
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ # Input 输入框 {#title}
6
+
7
+ 通过鼠标或键盘输入内容,是最基础的表单域的包装。
8
+
9
+ ## 代码演示
10
+
11
+ ### 基本用法
12
+
13
+ 基本用法。
14
+
15
+ <Code path="input/Base" />
16
+
17
+ ### 前置/后置标签
18
+
19
+ 用于配置一些固定组合。
20
+
21
+ <Code path="input/AddonBeforeAndAfter" />
22
+
23
+ ### 文本域
24
+
25
+ 用于多行输入。
26
+
27
+ <Code path="input/TextArea" />
28
+
29
+ ### 前缀和后缀
30
+
31
+ 在输入框上添加前缀或后缀图标。
32
+
33
+ <Code path="input/PrefixAndSuffix" />
34
+
35
+ ### 不可用状态
36
+
37
+ Input 不可用状态
38
+
39
+ <Code path="input/Disabled" />
40
+
41
+ ### 自定义状态
42
+
43
+ 使用 `status` 为 Input 添加状态,可选 `error` 或者 `warning`。
44
+
45
+ <Code path="input/Status" />
46
+
47
+ ## API
48
+
49
+ ### Input
50
+
51
+ <div class="vp-table">
52
+
53
+ | 参数 | 说明 | 类型 | 默认值
54
+ | ----------- | ----------- | ----------- | ----------- |
55
+ | status | 设置校验状态 | 'error' \| 'warning' | - |
56
+
57
+ </div>
@@ -0,0 +1,35 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Button, Modal, type ModalInstance } from 'antd-solid'
3
+
4
+ const Index: Component = () => {
5
+ let ref: ModalInstance
6
+
7
+ const showModal = () => {
8
+ ref.open()
9
+ }
10
+
11
+ const handleOk = () => {
12
+ console.log('确定')
13
+ return true
14
+ }
15
+
16
+ const afterClose = () => {
17
+ console.log('取消')
18
+ }
19
+
20
+ return (
21
+ <>
22
+ <Button type="primary" onClick={showModal}>
23
+ Open Modal
24
+ </Button>
25
+ <Modal ref={ref!} title="Basic Modal" onOk={handleOk} afterClose={afterClose}>
26
+ <p>Some contents...</p>
27
+ <p>Some contents...</p>
28
+ <p>Some contents...</p>
29
+ <p>Some contents...</p>
30
+ </Modal>
31
+ </>
32
+ )
33
+ }
34
+
35
+ export default Index
@@ -0,0 +1,26 @@
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ # Modal 对话框 {#title}
6
+
7
+ 模态对话框。
8
+
9
+ ## 代码演示
10
+
11
+ ### 基本
12
+
13
+ 基础弹框。
14
+
15
+ <Code path="modal/Base" />
16
+
17
+ ## API
18
+
19
+ ### Modal
20
+
21
+ <div class="vp-table">
22
+
23
+ | 参数 | 说明 | 类型 | 默认值
24
+ | ----------- | ----------- | ----------- | ----------- |
25
+
26
+ </div>
@@ -0,0 +1,25 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Button, Popconfirm, message } from 'antd-solid'
3
+
4
+ const Index: Component = () => {
5
+ const confirm = () => {
6
+ message.success('Click on Yes')
7
+ }
8
+ const cancel = () => {
9
+ message.error('Click on No');
10
+ };
11
+
12
+ return (
13
+ <Popconfirm
14
+ title="是否同步删除后续继承节点"
15
+ okText="是"
16
+ cancelText="否"
17
+ onConfirm={confirm}
18
+ onCancel={cancel}
19
+ >
20
+ <Button danger>Delete</Button>
21
+ </Popconfirm>
22
+ )
23
+ }
24
+
25
+ export default Index
@@ -0,0 +1,26 @@
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ # Popconfirm 气泡确认框 {#title}
6
+
7
+ 点击元素,弹出气泡式的确认框。
8
+
9
+ ## 代码演示
10
+
11
+ ### 基本
12
+
13
+ 最简单的用法,支持确认标题和描述。
14
+
15
+ <Code path="popconfirm/Base" />
16
+
17
+ ## API
18
+
19
+ ### Popconfirm
20
+
21
+ <div class="vp-table">
22
+
23
+ | 参数 | 说明 | 类型 | 默认值
24
+ | ----------- | ----------- | ----------- | ----------- |
25
+
26
+ </div>
@@ -0,0 +1,19 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Button, Popover } from 'antd-solid'
3
+
4
+ const content = (
5
+ <div style={{ width: '150px' }}>
6
+ <p>Content</p>
7
+ <p>Content</p>
8
+ </div>
9
+ );
10
+
11
+ const Index: Component = () => {
12
+ return (
13
+ <Popover content={content} title="Title">
14
+ <Button type="primary">Hover me</Button>
15
+ </Popover>
16
+ )
17
+ }
18
+
19
+ export default Index
@@ -0,0 +1,26 @@
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ # Popover 气泡卡片 {#title}
6
+
7
+ 点击/鼠标移入元素,弹出气泡式的卡片浮层。
8
+
9
+ ## 代码演示
10
+
11
+ ### 基本
12
+
13
+ 最简单的用法,浮层的大小由内容区域决定。
14
+
15
+ <Code path="popover/Base" />
16
+
17
+ ## API
18
+
19
+ ### Popover
20
+
21
+ <div class="vp-table">
22
+
23
+ | 参数 | 说明 | 类型 | 默认值
24
+ | ----------- | ----------- | ----------- | ----------- |
25
+
26
+ </div>
@@ -0,0 +1,16 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Progress } from 'antd-solid'
3
+
4
+ const Index: Component = () => {
5
+ return (
6
+ <>
7
+ <Progress percent={30} />
8
+ <Progress percent={50} status="active" />
9
+ <Progress percent={70} status="exception" />
10
+ <Progress percent={100} />
11
+ <Progress percent={50} showInfo={false} />
12
+ </>
13
+ )
14
+ }
15
+
16
+ export default Index
@@ -0,0 +1,26 @@
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ # Progress 进度条 {#title}
6
+
7
+ 展示操作的当前进度。
8
+
9
+ ## 代码演示
10
+
11
+ ### 基本
12
+
13
+ 标准的进度条。
14
+
15
+ <Code path="progress/Base" />
16
+
17
+ ## API
18
+
19
+ ### Progress
20
+
21
+ <div class="vp-table">
22
+
23
+ | 参数 | 说明 | 类型 | 默认值
24
+ | ----------- | ----------- | ----------- | ----------- |
25
+
26
+ </div>
@@ -0,0 +1,10 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Radio } from 'antd-solid'
3
+
4
+ const Index: Component = () => {
5
+ return (
6
+ <Radio>Radio</Radio>
7
+ )
8
+ }
9
+
10
+ export default Index
@@ -0,0 +1,26 @@
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ # Radio 单选框 {#title}
6
+
7
+ 单选框。
8
+
9
+ ## 代码演示
10
+
11
+ ### 基本
12
+
13
+ 最简单的用法。
14
+
15
+ <Code path="radio/Base" />
16
+
17
+ ## API
18
+
19
+ ### Radio
20
+
21
+ <div class="vp-table">
22
+
23
+ | 参数 | 说明 | 类型 | 默认值
24
+ | ----------- | ----------- | ----------- | ----------- |
25
+
26
+ </div>
@@ -0,0 +1,10 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Segmented } from 'antd-solid'
3
+
4
+ const App: Component = () => {
5
+ const options = ['Daily', 'Weekly', 'Monthly', 'Quarterly', 'Yearly']
6
+
7
+ return <Segmented options={options} onChange={console.log} />
8
+ }
9
+
10
+ export default App
@@ -0,0 +1,10 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Segmented } from 'antd-solid'
3
+
4
+ const App: Component = () => {
5
+ const options = ['第一章', '第二章', '第三章']
6
+
7
+ return <Segmented block options={options} onChange={console.log} />
8
+ }
9
+
10
+ export default App
@@ -0,0 +1,28 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Segmented } from 'antd-solid'
3
+
4
+ const App: Component = () => {
5
+ const options = [
6
+ 'Daily',
7
+ { label: () => 'Weekly', value: 'Weekly', disabled: true },
8
+ 'Monthly',
9
+ { label: () => 'Quarterly', value: 'Quarterly', disabled: true },
10
+ 'Yearly',
11
+ ]
12
+
13
+ return (
14
+ <div
15
+ style={{
16
+ display: 'flex',
17
+ 'flex-direction': 'column',
18
+ 'align-items': 'flex-start',
19
+ gap: '8px',
20
+ }}
21
+ >
22
+ <Segmented disabled options={options} onChange={console.log} />
23
+ <Segmented options={options} onChange={console.log} />
24
+ </div>
25
+ )
26
+ }
27
+
28
+ export default App
@@ -0,0 +1,38 @@
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ # Segmented 分段控制器 {#title}
6
+
7
+ 选项卡切换组件。
8
+
9
+ ## 代码演示
10
+
11
+ ### 基本
12
+
13
+ 默认选中第一项。
14
+
15
+ <Code path="segmented/Base" />
16
+
17
+ ### Block 分段选择器
18
+
19
+ `block` 属性使其适合父元素宽度。
20
+
21
+ <Code path="segmented/Block" />
22
+
23
+ ### 不可用
24
+
25
+ Segmented 不可用。
26
+
27
+ <Code path="segmented/Disabled" />
28
+
29
+ ## API
30
+
31
+ ### Segmented
32
+
33
+ <div class="vp-table">
34
+
35
+ | 参数 | 说明 | 类型 | 默认值
36
+ | ----------- | ----------- | ----------- | ----------- |
37
+
38
+ </div>
@@ -0,0 +1,18 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Select } from 'antd-solid'
3
+
4
+ const AllowClear: Component = () => {
5
+ return (
6
+ <Select
7
+ placeholder="请选择"
8
+ allowClear
9
+ options={[
10
+ { value: 'jack', label: 'Jack' },
11
+ { value: 'lucy', label: 'Lucy' },
12
+ { value: 'yiminghe', label: 'Yiminghe' },
13
+ ]}
14
+ />
15
+ )
16
+ }
17
+
18
+ export default AllowClear
@@ -0,0 +1,17 @@
1
+ import { type Component } from 'solid-js'
2
+ import { Select } from 'antd-solid'
3
+
4
+ const Base: Component = () => {
5
+ return (
6
+ <Select
7
+ placeholder="请选择"
8
+ options={[
9
+ { value: 'jack', label: 'Jack' },
10
+ { value: 'lucy', label: 'Lucy' },
11
+ { value: 'yiminghe', label: 'Yiminghe' },
12
+ ]}
13
+ />
14
+ )
15
+ }
16
+
17
+ export default Base
@@ -0,0 +1,35 @@
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ # Select 选择器 {#title}
6
+
7
+ 下拉选择器。
8
+
9
+ ## 代码演示
10
+
11
+ ### 基本用法
12
+
13
+ 选择器的基础用法。
14
+
15
+ <Code path="select/Base" />
16
+
17
+ ### 可清空
18
+
19
+ 注意只有选了值才能清空值。
20
+
21
+ <Code path="select/AllowClear" />
22
+
23
+ ## API
24
+
25
+ ### Table
26
+
27
+ <div class="vp-table">
28
+
29
+ | 参数 | 说明 | 类型 | 默认值
30
+ | ----------- | ----------- | ----------- | ----------- |
31
+ | allowClear | 支持清除 | boolean | false |
32
+ | options | 数据化配置选项内容,相比 jsx 定义会获得更好的渲染性能 | { label, value }[] | - |
33
+ | placeholder | 选择框默认文本 | string | - |
34
+
35
+ </div>