@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.
- package/LICENSE +21 -0
- package/README.md +34 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +248 -0
- package/metaData/components/action-sheet/api.md +74 -0
- package/metaData/components/action-sheet/doc.md +243 -0
- package/metaData/components/action-sheet/example/index.tsx +116 -0
- package/metaData/components/area-picker/api.md +25 -0
- package/metaData/components/area-picker/doc.md +132 -0
- package/metaData/components/area-picker/example/index.tsx +60 -0
- package/metaData/components/avatar/api.md +19 -0
- package/metaData/components/avatar/doc.md +170 -0
- package/metaData/components/avatar/example/index.tsx +76 -0
- package/metaData/components/back-top/api.md +21 -0
- package/metaData/components/back-top/doc.md +142 -0
- package/metaData/components/back-top/example/index.tsx +96 -0
- package/metaData/components/backdrop/api.md +20 -0
- package/metaData/components/backdrop/doc.md +98 -0
- package/metaData/components/backdrop/example/index.tsx +33 -0
- package/metaData/components/badge/api.md +10 -0
- package/metaData/components/badge/doc.md +169 -0
- package/metaData/components/badge/example/index.tsx +81 -0
- package/metaData/components/button/api.md +31 -0
- package/metaData/components/button/doc.md +235 -0
- package/metaData/components/button/example/index.tsx +235 -0
- package/metaData/components/calendar/api.md +62 -0
- package/metaData/components/calendar/doc.md +516 -0
- package/metaData/components/calendar/example/index.tsx +501 -0
- package/metaData/components/cascader/api.md +55 -0
- package/metaData/components/cascader/doc.md +358 -0
- package/metaData/components/cascader/example/index.tsx +159 -0
- package/metaData/components/cell/api.md +37 -0
- package/metaData/components/cell/doc.md +158 -0
- package/metaData/components/cell/example/index.tsx +44 -0
- package/metaData/components/checkbox/api.md +35 -0
- package/metaData/components/checkbox/doc.md +203 -0
- package/metaData/components/checkbox/example/index.tsx +94 -0
- package/metaData/components/circle/api.md +17 -0
- package/metaData/components/circle/doc.md +123 -0
- package/metaData/components/circle/example/index.tsx +81 -0
- package/metaData/components/collapse/api.md +31 -0
- package/metaData/components/collapse/doc.md +142 -0
- package/metaData/components/collapse/example/index.tsx +81 -0
- package/metaData/components/config-provider/api.md +7 -0
- package/metaData/components/config-provider/doc.md +193 -0
- package/metaData/components/config-provider/example/index.tsx +54 -0
- package/metaData/components/countdown/api.md +46 -0
- package/metaData/components/countdown/doc.md +167 -0
- package/metaData/components/countdown/example/index.tsx +70 -0
- package/metaData/components/datetime-picker/api.md +25 -0
- package/metaData/components/datetime-picker/doc.md +317 -0
- package/metaData/components/datetime-picker/example/index.tsx +265 -0
- package/metaData/components/dialog/api.md +66 -0
- package/metaData/components/dialog/doc.md +292 -0
- package/metaData/components/dialog/example/index.tsx +138 -0
- package/metaData/components/divider/api.md +15 -0
- package/metaData/components/divider/doc.md +108 -0
- package/metaData/components/divider/example/index.tsx +45 -0
- package/metaData/components/dropdown-menu/api.md +37 -0
- package/metaData/components/dropdown-menu/doc.md +279 -0
- package/metaData/components/dropdown-menu/example/index.tsx +182 -0
- package/metaData/components/empty/api.md +20 -0
- package/metaData/components/empty/doc.md +126 -0
- package/metaData/components/empty/example/index.tsx +66 -0
- package/metaData/components/field/api.md +10 -0
- package/metaData/components/field/doc.md +274 -0
- package/metaData/components/field/example/index.tsx +203 -0
- package/metaData/components/fixed-nav/api.md +21 -0
- package/metaData/components/fixed-nav/doc.md +196 -0
- package/metaData/components/fixed-nav/example/index.tsx +80 -0
- package/metaData/components/fixed-view/api.md +10 -0
- package/metaData/components/fixed-view/doc.md +25 -0
- package/metaData/components/fixed-view/example/index.tsx +12 -0
- package/metaData/components/flex/api.md +18 -0
- package/metaData/components/flex/doc.md +103 -0
- package/metaData/components/flex/example/index.tsx +58 -0
- package/metaData/components/floating-bubble/api.md +18 -0
- package/metaData/components/floating-bubble/doc.md +94 -0
- package/metaData/components/floating-bubble/example/index.tsx +55 -0
- package/metaData/components/floating-panel/api.md +19 -0
- package/metaData/components/floating-panel/doc.md +174 -0
- package/metaData/components/floating-panel/example/index.tsx +131 -0
- package/metaData/components/form/api.md +124 -0
- package/metaData/components/form/doc.md +759 -0
- package/metaData/components/form/example/index.tsx +222 -0
- package/metaData/components/grid/api.md +28 -0
- package/metaData/components/grid/doc.md +167 -0
- package/metaData/components/grid/example/index.tsx +80 -0
- package/metaData/components/image/api.md +42 -0
- package/metaData/components/image/doc.md +117 -0
- package/metaData/components/image/example/index.tsx +76 -0
- package/metaData/components/index-list/api.md +39 -0
- package/metaData/components/index-list/doc.md +176 -0
- package/metaData/components/index-list/example/index.tsx +110 -0
- package/metaData/components/list/api.md +30 -0
- package/metaData/components/list/doc.md +317 -0
- package/metaData/components/list/example/index.tsx +218 -0
- package/metaData/components/loading/api.md +10 -0
- package/metaData/components/loading/doc.md +113 -0
- package/metaData/components/loading/example/index.tsx +47 -0
- package/metaData/components/navbar/api.md +26 -0
- package/metaData/components/navbar/doc.md +85 -0
- package/metaData/components/navbar/example/index.tsx +28 -0
- package/metaData/components/notice-bar/api.md +28 -0
- package/metaData/components/notice-bar/doc.md +154 -0
- package/metaData/components/notice-bar/example/index.tsx +107 -0
- package/metaData/components/notify/api.md +28 -0
- package/metaData/components/notify/doc.md +140 -0
- package/metaData/components/notify/example/index.tsx +89 -0
- package/metaData/components/number-keyboard/api.md +21 -0
- package/metaData/components/number-keyboard/doc.md +247 -0
- package/metaData/components/number-keyboard/example/index.tsx +201 -0
- package/metaData/components/pagination/api.md +18 -0
- package/metaData/components/pagination/doc.md +113 -0
- package/metaData/components/pagination/example/index.tsx +73 -0
- package/metaData/components/password-input/api.md +25 -0
- package/metaData/components/password-input/doc.md +126 -0
- package/metaData/components/password-input/example/index.tsx +124 -0
- package/metaData/components/picker/api.md +61 -0
- package/metaData/components/picker/doc.md +336 -0
- package/metaData/components/picker/example/index.tsx +232 -0
- package/metaData/components/popup/api.md +48 -0
- package/metaData/components/popup/doc.md +150 -0
- package/metaData/components/popup/example/index.tsx +214 -0
- package/metaData/components/progress/api.md +11 -0
- package/metaData/components/progress/doc.md +105 -0
- package/metaData/components/progress/example/index.tsx +58 -0
- package/metaData/components/pull-refresh/api.md +18 -0
- package/metaData/components/pull-refresh/doc.md +198 -0
- package/metaData/components/pull-refresh/example/index.tsx +153 -0
- package/metaData/components/radio/api.md +26 -0
- package/metaData/components/radio/doc.md +201 -0
- package/metaData/components/radio/example/index.tsx +103 -0
- package/metaData/components/rate/api.md +23 -0
- package/metaData/components/rate/doc.md +122 -0
- package/metaData/components/rate/example/index.tsx +36 -0
- package/metaData/components/rolling-text/api.md +23 -0
- package/metaData/components/rolling-text/doc.md +153 -0
- package/metaData/components/rolling-text/example/index.tsx +150 -0
- package/metaData/components/safe-area/api.md +8 -0
- package/metaData/components/safe-area/doc.md +30 -0
- package/metaData/components/safe-area/example/index.tsx +16 -0
- package/metaData/components/search/api.md +35 -0
- package/metaData/components/search/doc.md +185 -0
- package/metaData/components/search/example/index.tsx +101 -0
- package/metaData/components/share-sheet/api.md +48 -0
- package/metaData/components/share-sheet/doc.md +215 -0
- package/metaData/components/share-sheet/example/index.tsx +143 -0
- package/metaData/components/sidebar/api.md +28 -0
- package/metaData/components/sidebar/doc.md +122 -0
- package/metaData/components/sidebar/example/index.tsx +58 -0
- package/metaData/components/signature/api.md +19 -0
- package/metaData/components/signature/doc.md +115 -0
- package/metaData/components/signature/example/index.tsx +56 -0
- package/metaData/components/skeleton/api.md +45 -0
- package/metaData/components/skeleton/doc.md +131 -0
- package/metaData/components/skeleton/example/index.tsx +80 -0
- package/metaData/components/slider/api.md +28 -0
- package/metaData/components/slider/doc.md +151 -0
- package/metaData/components/slider/example/index.tsx +54 -0
- package/metaData/components/space/api.md +12 -0
- package/metaData/components/space/doc.md +125 -0
- package/metaData/components/space/example/index.tsx +75 -0
- package/metaData/components/stepper/api.md +37 -0
- package/metaData/components/stepper/doc.md +152 -0
- package/metaData/components/stepper/example/index.tsx +45 -0
- package/metaData/components/steps/api.md +9 -0
- package/metaData/components/steps/doc.md +143 -0
- package/metaData/components/steps/example/index.tsx +93 -0
- package/metaData/components/sticky/api.md +16 -0
- package/metaData/components/sticky/doc.md +87 -0
- package/metaData/components/sticky/example/index.tsx +62 -0
- package/metaData/components/swipe-cell/api.md +19 -0
- package/metaData/components/swipe-cell/doc.md +105 -0
- package/metaData/components/swipe-cell/example/index.tsx +62 -0
- package/metaData/components/swiper/api.md +22 -0
- package/metaData/components/swiper/doc.md +228 -0
- package/metaData/components/swiper/example/index.tsx +118 -0
- package/metaData/components/switch/api.md +17 -0
- package/metaData/components/switch/doc.md +110 -0
- package/metaData/components/switch/example/index.tsx +57 -0
- package/metaData/components/tabbar/api.md +27 -0
- package/metaData/components/tabbar/doc.md +160 -0
- package/metaData/components/tabbar/example/index.tsx +99 -0
- package/metaData/components/tabs/api.md +36 -0
- package/metaData/components/tabs/doc.md +307 -0
- package/metaData/components/tabs/example/index.tsx +231 -0
- package/metaData/components/tag/api.md +17 -0
- package/metaData/components/tag/doc.md +162 -0
- package/metaData/components/tag/example/index.tsx +84 -0
- package/metaData/components/text-ellipsis/api.md +26 -0
- package/metaData/components/text-ellipsis/doc.md +135 -0
- package/metaData/components/text-ellipsis/example/index.tsx +44 -0
- package/metaData/components/timeline/api.md +20 -0
- package/metaData/components/timeline/doc.md +210 -0
- package/metaData/components/timeline/example/index.tsx +145 -0
- package/metaData/components/toast/api.md +39 -0
- package/metaData/components/toast/doc.md +256 -0
- package/metaData/components/toast/example/index.tsx +136 -0
- package/metaData/components/tree-select/api.md +19 -0
- package/metaData/components/tree-select/doc.md +185 -0
- package/metaData/components/tree-select/example/index.tsx +112 -0
- package/metaData/components/uploader/api.md +32 -0
- package/metaData/components/uploader/doc.md +340 -0
- package/metaData/components/uploader/example/index.tsx +222 -0
- package/metaData/components/watermark/api.md +18 -0
- package/metaData/components/watermark/doc.md +97 -0
- package/metaData/components/watermark/example/index.tsx +62 -0
- package/metaData/components-index.json +274 -0
- package/package.json +56 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { Button, Uploader } from "@fjyueke/bify-core"
|
|
2
|
+
import { Plus } from "@fjyueke/bify-icons"
|
|
3
|
+
import { View } from "@tarojs/components"
|
|
4
|
+
import { chooseImage } from "@tarojs/taro"
|
|
5
|
+
import { useState } from "react"
|
|
6
|
+
import Block from "../../../components/block"
|
|
7
|
+
import Page from "../../../components/page"
|
|
8
|
+
import "./index.scss"
|
|
9
|
+
|
|
10
|
+
function BasicUploader() {
|
|
11
|
+
const [file, setFile] = useState<Uploader.File>()
|
|
12
|
+
|
|
13
|
+
function onUpload() {
|
|
14
|
+
chooseImage({
|
|
15
|
+
count: 1,
|
|
16
|
+
sizeType: ["original", "compressed"],
|
|
17
|
+
sourceType: ["album", "camera"],
|
|
18
|
+
}).then(({ tempFiles }) => {
|
|
19
|
+
setFile({
|
|
20
|
+
url: tempFiles[0].path,
|
|
21
|
+
type: tempFiles[0].type,
|
|
22
|
+
name: tempFiles[0].originalFileObj?.name,
|
|
23
|
+
})
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return <Uploader value={file} onUpload={onUpload} onChange={setFile} />
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function PreviewUploader() {
|
|
31
|
+
const [files, setFiles] = useState<Uploader.File[]>([
|
|
32
|
+
{
|
|
33
|
+
url: "https://img01.yzcdn.cn/vant/leaf.jpg",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
url: "https://img.yzcdn.cn/vant/tree.jpg",
|
|
37
|
+
},
|
|
38
|
+
])
|
|
39
|
+
|
|
40
|
+
function onUpload() {
|
|
41
|
+
chooseImage({
|
|
42
|
+
count: 1,
|
|
43
|
+
sizeType: ["original", "compressed"],
|
|
44
|
+
sourceType: ["album", "camera"],
|
|
45
|
+
}).then(({ tempFiles }) => {
|
|
46
|
+
setFiles([
|
|
47
|
+
...files,
|
|
48
|
+
...tempFiles.map(({ path, type, originalFileObj }) => ({
|
|
49
|
+
type,
|
|
50
|
+
url: path,
|
|
51
|
+
name: originalFileObj?.name,
|
|
52
|
+
})),
|
|
53
|
+
])
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return <Uploader value={files} multiple onUpload={onUpload} onChange={setFiles} />
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function UploaderWithStatus() {
|
|
61
|
+
const [files, setFiles] = useState<Uploader.File[]>([
|
|
62
|
+
{
|
|
63
|
+
url: "https://img01.yzcdn.cn/vant/leaf.jpg",
|
|
64
|
+
status: "uploading",
|
|
65
|
+
message: "上传中...",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
url: "https://img01.yzcdn.cn/vant/tree.jpg",
|
|
69
|
+
status: "failed",
|
|
70
|
+
message: "上传失败",
|
|
71
|
+
},
|
|
72
|
+
])
|
|
73
|
+
|
|
74
|
+
function onUpload() {
|
|
75
|
+
chooseImage({
|
|
76
|
+
count: 1,
|
|
77
|
+
sizeType: ["original", "compressed"],
|
|
78
|
+
sourceType: ["album", "camera"],
|
|
79
|
+
}).then(({ tempFiles }) => {
|
|
80
|
+
setFiles([
|
|
81
|
+
...files,
|
|
82
|
+
...tempFiles.map(({ path, type, originalFileObj }) => ({
|
|
83
|
+
type,
|
|
84
|
+
url: path,
|
|
85
|
+
name: originalFileObj?.name,
|
|
86
|
+
})),
|
|
87
|
+
])
|
|
88
|
+
})
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return <Uploader value={files} multiple onUpload={onUpload} onChange={setFiles} />
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function MaxFilesUploader() {
|
|
95
|
+
const [files, setFiles] = useState<Uploader.File[]>([])
|
|
96
|
+
|
|
97
|
+
function onUpload() {
|
|
98
|
+
chooseImage({
|
|
99
|
+
count: 1,
|
|
100
|
+
sizeType: ["original", "compressed"],
|
|
101
|
+
sourceType: ["album", "camera"],
|
|
102
|
+
}).then(({ tempFiles }) => {
|
|
103
|
+
setFiles([
|
|
104
|
+
...files,
|
|
105
|
+
...tempFiles.map(({ path, type, originalFileObj }) => ({
|
|
106
|
+
type,
|
|
107
|
+
url: path,
|
|
108
|
+
name: originalFileObj?.name,
|
|
109
|
+
})),
|
|
110
|
+
])
|
|
111
|
+
})
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return <Uploader value={files} multiple maxFiles={2} onUpload={onUpload} onChange={setFiles} />
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function CustomUploader() {
|
|
118
|
+
const [files, setFiles] = useState<Uploader.File[]>([])
|
|
119
|
+
function onUpload() {
|
|
120
|
+
chooseImage({
|
|
121
|
+
count: 1,
|
|
122
|
+
sizeType: ["original", "compressed"],
|
|
123
|
+
sourceType: ["album", "camera"],
|
|
124
|
+
}).then(({ tempFiles }) => {
|
|
125
|
+
setFiles([
|
|
126
|
+
...files,
|
|
127
|
+
...tempFiles.map(({ path, type, originalFileObj }) => ({
|
|
128
|
+
type,
|
|
129
|
+
url: path,
|
|
130
|
+
name: originalFileObj?.name,
|
|
131
|
+
})),
|
|
132
|
+
])
|
|
133
|
+
})
|
|
134
|
+
}
|
|
135
|
+
return (
|
|
136
|
+
<Uploader multiple value={files} onChange={setFiles} onUpload={onUpload}>
|
|
137
|
+
<Button icon={<Plus />} color="primary">
|
|
138
|
+
上传文件
|
|
139
|
+
</Button>
|
|
140
|
+
</Uploader>
|
|
141
|
+
)
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function CustomPreviewUploader() {
|
|
145
|
+
const [files, setFiles] = useState<Uploader.File[]>([
|
|
146
|
+
{
|
|
147
|
+
url: "https://img01.yzcdn.cn/vant/leaf.jpg",
|
|
148
|
+
},
|
|
149
|
+
])
|
|
150
|
+
|
|
151
|
+
function onUpload() {
|
|
152
|
+
chooseImage({
|
|
153
|
+
sizeType: ["original", "compressed"],
|
|
154
|
+
sourceType: ["album", "camera"],
|
|
155
|
+
}).then(({ tempFiles }) => {
|
|
156
|
+
setFiles([
|
|
157
|
+
...files,
|
|
158
|
+
...tempFiles.map(({ path, type, originalFileObj }) => ({
|
|
159
|
+
type,
|
|
160
|
+
url: path,
|
|
161
|
+
name: originalFileObj?.name,
|
|
162
|
+
})),
|
|
163
|
+
])
|
|
164
|
+
})
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
const itemRender = ({ file }: { file: Uploader.File }) => {
|
|
168
|
+
return (
|
|
169
|
+
<Uploader.Image
|
|
170
|
+
key={file.url}
|
|
171
|
+
url={file.url}
|
|
172
|
+
name={file.name}
|
|
173
|
+
type={file.type}
|
|
174
|
+
onRemove={() => setFiles(files.filter((item) => item !== file))}
|
|
175
|
+
>
|
|
176
|
+
<View className="preview-cover taroify-ellipsis">图片名称</View>
|
|
177
|
+
</Uploader.Image>
|
|
178
|
+
)
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
return (
|
|
182
|
+
<Uploader
|
|
183
|
+
value={files}
|
|
184
|
+
multiple
|
|
185
|
+
onUpload={onUpload}
|
|
186
|
+
onChange={setFiles}
|
|
187
|
+
itemRender={itemRender}
|
|
188
|
+
/>
|
|
189
|
+
)
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
function DisabledUploader() {
|
|
193
|
+
return <Uploader disabled />
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export default function UploaderDemo() {
|
|
197
|
+
return (
|
|
198
|
+
<Page title="Uploader 文件上传" className="uploader-demo">
|
|
199
|
+
<Block title="基础用法">
|
|
200
|
+
<BasicUploader />
|
|
201
|
+
</Block>
|
|
202
|
+
<Block title="文件预览">
|
|
203
|
+
<PreviewUploader />
|
|
204
|
+
</Block>
|
|
205
|
+
<Block title="上传状态">
|
|
206
|
+
<UploaderWithStatus />
|
|
207
|
+
</Block>
|
|
208
|
+
<Block title="限制上传数量">
|
|
209
|
+
<MaxFilesUploader />
|
|
210
|
+
</Block>
|
|
211
|
+
<Block title="自定义上传样式">
|
|
212
|
+
<CustomUploader />
|
|
213
|
+
</Block>
|
|
214
|
+
<Block title="自定义上传列表项">
|
|
215
|
+
<CustomPreviewUploader />
|
|
216
|
+
</Block>
|
|
217
|
+
<Block title="禁用文件上传">
|
|
218
|
+
<DisabledUploader />
|
|
219
|
+
</Block>
|
|
220
|
+
</Page>
|
|
221
|
+
)
|
|
222
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
## API
|
|
2
|
+
|
|
3
|
+
### Grid Props
|
|
4
|
+
|
|
5
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
6
|
+
| --- | --- | --- | --- |
|
|
7
|
+
| columns | 列数 | _number \| string_ | `4` |
|
|
8
|
+
| iconSize | 图标大小,默认单位为`px` | _number \| string_ | `28px` |
|
|
9
|
+
| gutter | 格子之间的间距,默认单位为`px` | _number \| string_ | `0` |
|
|
10
|
+
| bordered | 是否显示边框 | _boolean_ | `true` |
|
|
11
|
+
| centered | 是否将格子内容居中显示 | _boolean_ | `true` |
|
|
12
|
+
| square | 是否将格子固定为正方形 | _boolean_ | `false` |
|
|
13
|
+
| clickable | 是否开启格子点击反馈 | _boolean_ | `false` |
|
|
14
|
+
| direction | 格子内容排列的方向,可选值为 `horizontal` | _string_ | `vertical` |
|
|
15
|
+
|
|
16
|
+
### Grid.Item Props
|
|
17
|
+
|
|
18
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
19
|
+
| --- | --- | --- | --- |
|
|
20
|
+
| text | 文字 | _string_ | - |
|
|
21
|
+
| icon | [图标](/components/icon)或[图片](/components/image) | _ReactNode_ | - |
|
|
22
|
+
| badge | 图标上徽标的内容 | _boolean \| number \| string \| Badge \| ReactNode_ | - |
|
|
23
|
+
|
|
24
|
+
### Grid.Item Events
|
|
25
|
+
|
|
26
|
+
| 事件名 | 说明 | 回调参数 |
|
|
27
|
+
|---------|---------|---------------------|
|
|
28
|
+
| onClick | 点击格子时触发 | _event: MouseEvent_ |
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Grid 宫格
|
|
2
|
+
|
|
3
|
+
### 介绍
|
|
4
|
+
|
|
5
|
+
宫格可以在水平方向上把页面分隔成等宽度的区块,用于展示内容或进行页面导航。
|
|
6
|
+
|
|
7
|
+
### 引入
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import { Grid } from "@fjyueke/bify-core"
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 代码演示
|
|
14
|
+
|
|
15
|
+
### 基础用法
|
|
16
|
+
|
|
17
|
+
通过 `icon` 属性设置格子内的图标,`text` 属性设置文字内容。
|
|
18
|
+
|
|
19
|
+
```tsx
|
|
20
|
+
<Grid>
|
|
21
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
22
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
23
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
24
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
25
|
+
</Grid>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 自定义列数
|
|
29
|
+
|
|
30
|
+
默认一行展示四个格子,可以通过 `columns` 自定义列数。
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
<Grid columns={3}>
|
|
34
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
35
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
36
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
37
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
38
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
39
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
40
|
+
</Grid>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 自定义内容
|
|
44
|
+
|
|
45
|
+
通过插槽可以自定义格子展示的内容。
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
<Grid columns={3} bordered={false}>
|
|
49
|
+
<Grid.Item>
|
|
50
|
+
<Image className="grid-image" src="https://img.yzcdn.cn/vant/apple-1.jpg" />
|
|
51
|
+
</Grid.Item>
|
|
52
|
+
<Grid.Item>
|
|
53
|
+
<Image className="grid-image" src="https://img.yzcdn.cn/vant/apple-2.jpg" />
|
|
54
|
+
</Grid.Item>
|
|
55
|
+
<Grid.Item>
|
|
56
|
+
<Image className="grid-image" src="https://img.yzcdn.cn/vant/apple-3.jpg" />
|
|
57
|
+
</Grid.Item>
|
|
58
|
+
</Grid>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
```scss
|
|
62
|
+
.grid-image {
|
|
63
|
+
width: 100%;
|
|
64
|
+
height: 100%;
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 正方形格子
|
|
69
|
+
|
|
70
|
+
设置 `square` 属性后,格子的高度会和宽度保持一致。
|
|
71
|
+
|
|
72
|
+
```tsx
|
|
73
|
+
<Grid columns={4} square>
|
|
74
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
75
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
76
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
77
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
78
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
79
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
80
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
81
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
82
|
+
</Grid>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 格子间距
|
|
86
|
+
|
|
87
|
+
通过 `gutter` 属性设置格子之间的距离。
|
|
88
|
+
|
|
89
|
+
```tsx
|
|
90
|
+
<Grid columns={4} gutter={10}>
|
|
91
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
92
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
93
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
94
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
95
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
96
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
97
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
98
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
99
|
+
</Grid>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 内容横排
|
|
103
|
+
|
|
104
|
+
将 `direction` 属性设置为 `horizontal`,可以让宫格的内容呈横向排列。
|
|
105
|
+
|
|
106
|
+
```tsx
|
|
107
|
+
<Grid columns={3} direction="horizontal">
|
|
108
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
109
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
110
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
111
|
+
</Grid>
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 徽标提示
|
|
115
|
+
|
|
116
|
+
设置 `badge=true` 属性后,会在图标右上角展示一个小红点。设置 `badge` 属性后,会在图标右上角展示相应的徽标。
|
|
117
|
+
|
|
118
|
+
```tsx
|
|
119
|
+
<Grid columns={2}>
|
|
120
|
+
<Grid.Item icon={<HomeOutlined />} badge text="文字" />
|
|
121
|
+
<Grid.Item icon={<Search />} badge={<Badge content={100} max={99} />} text="文字" />
|
|
122
|
+
</Grid>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## API
|
|
126
|
+
|
|
127
|
+
### Grid Props
|
|
128
|
+
|
|
129
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
130
|
+
| --- | --- | --- | --- |
|
|
131
|
+
| columns | 列数 | _number \| string_ | `4` |
|
|
132
|
+
| iconSize | 图标大小,默认单位为`px` | _number \| string_ | `28px` |
|
|
133
|
+
| gutter | 格子之间的间距,默认单位为`px` | _number \| string_ | `0` |
|
|
134
|
+
| bordered | 是否显示边框 | _boolean_ | `true` |
|
|
135
|
+
| centered | 是否将格子内容居中显示 | _boolean_ | `true` |
|
|
136
|
+
| square | 是否将格子固定为正方形 | _boolean_ | `false` |
|
|
137
|
+
| clickable | 是否开启格子点击反馈 | _boolean_ | `false` |
|
|
138
|
+
| direction | 格子内容排列的方向,可选值为 `horizontal` | _string_ | `vertical` |
|
|
139
|
+
|
|
140
|
+
### Grid.Item Props
|
|
141
|
+
|
|
142
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
143
|
+
| --- | --- | --- | --- |
|
|
144
|
+
| text | 文字 | _string_ | - |
|
|
145
|
+
| icon | [图标](/components/icon)或[图片](/components/image) | _ReactNode_ | - |
|
|
146
|
+
| badge | 图标上徽标的内容 | _boolean \| number \| string \| Badge \| ReactNode_ | - |
|
|
147
|
+
|
|
148
|
+
### Grid.Item Events
|
|
149
|
+
|
|
150
|
+
| 事件名 | 说明 | 回调参数 |
|
|
151
|
+
|---------|---------|---------------------|
|
|
152
|
+
| onClick | 点击格子时触发 | _event: MouseEvent_ |
|
|
153
|
+
|
|
154
|
+
## 主题定制
|
|
155
|
+
|
|
156
|
+
### 样式变量
|
|
157
|
+
|
|
158
|
+
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 [ConfigProvider](/components/config-provider/) 组件。
|
|
159
|
+
|
|
160
|
+
| 名称 | 默认值 | 描述 |
|
|
161
|
+
|--------------------------------------|---------------------------------------|-----|
|
|
162
|
+
| --grid-item-content-padding | _var(--padding-md) var(--padding-xs)_ | - |
|
|
163
|
+
| --grid-item-content-background-color | _var(--white)_ | - |
|
|
164
|
+
| --grid-item-content-active-color | _var(--active-color)_ | - |
|
|
165
|
+
| --grid-item-icon-font-size | _28px * $hd_ | - |
|
|
166
|
+
| --grid-item-text-color | _var(--gray-7)_ | - |
|
|
167
|
+
| --grid-item-text-font-size | _var(--font-size-sm)_ | - |
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Badge, Grid, Image } from "@fjyueke/bify-core"
|
|
2
|
+
import { HomeOutlined, PhotoOutlined, Search } from "@fjyueke/bify-icons"
|
|
3
|
+
import Block from "../../../components/block"
|
|
4
|
+
import Page from "../../../components/page"
|
|
5
|
+
import "./index.scss"
|
|
6
|
+
|
|
7
|
+
export default function GridDemo() {
|
|
8
|
+
return (
|
|
9
|
+
<Page title="Grid 宫格" className="grid-demo">
|
|
10
|
+
<Block title="基础用法">
|
|
11
|
+
<Grid columns={4}>
|
|
12
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
13
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
14
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
15
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
16
|
+
</Grid>
|
|
17
|
+
</Block>
|
|
18
|
+
<Block title="自定义列数">
|
|
19
|
+
<Grid columns={3}>
|
|
20
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
21
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
22
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
23
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
24
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
25
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
26
|
+
</Grid>
|
|
27
|
+
</Block>
|
|
28
|
+
<Block title="自定义内容">
|
|
29
|
+
<Grid columns={3} bordered={false}>
|
|
30
|
+
<Grid.Item>
|
|
31
|
+
<Image className="grid-image" src="https://img.yzcdn.cn/vant/apple-1.jpg" />
|
|
32
|
+
</Grid.Item>
|
|
33
|
+
<Grid.Item>
|
|
34
|
+
<Image className="grid-image" src="https://img.yzcdn.cn/vant/apple-2.jpg" />
|
|
35
|
+
</Grid.Item>
|
|
36
|
+
<Grid.Item>
|
|
37
|
+
<Image className="grid-image" src="https://img.yzcdn.cn/vant/apple-3.jpg" />
|
|
38
|
+
</Grid.Item>
|
|
39
|
+
</Grid>
|
|
40
|
+
</Block>
|
|
41
|
+
<Block title="正方形格子">
|
|
42
|
+
<Grid columns={4} square>
|
|
43
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
44
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
45
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
46
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
47
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
48
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
49
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
50
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
51
|
+
</Grid>
|
|
52
|
+
</Block>
|
|
53
|
+
<Block title="格子间距">
|
|
54
|
+
<Grid columns={4} gutter={10}>
|
|
55
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
56
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
57
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
58
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
59
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
60
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
61
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
62
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
63
|
+
</Grid>
|
|
64
|
+
</Block>
|
|
65
|
+
<Block title="内容横排">
|
|
66
|
+
<Grid columns={3} direction="horizontal">
|
|
67
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
68
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
69
|
+
<Grid.Item icon={<PhotoOutlined />} text="文字" />
|
|
70
|
+
</Grid>
|
|
71
|
+
</Block>
|
|
72
|
+
<Block title="徽标提示">
|
|
73
|
+
<Grid columns={2}>
|
|
74
|
+
<Grid.Item icon={<HomeOutlined />} badge text="文字" />
|
|
75
|
+
<Grid.Item icon={<Search />} badge={<Badge content={100} max={99} />} text="文字" />
|
|
76
|
+
</Grid>
|
|
77
|
+
</Block>
|
|
78
|
+
</Page>
|
|
79
|
+
)
|
|
80
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
## API
|
|
2
|
+
|
|
3
|
+
### Props
|
|
4
|
+
|
|
5
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
6
|
+
| ----------------------- | ------------------------------------ | ---------------- | ------------- |
|
|
7
|
+
| src | 图片链接 | _string_ | - |
|
|
8
|
+
| mode | 图片填充模式 | _string_ | `scaleToFill` |
|
|
9
|
+
| alt | 替代文本 | _string_ | - |
|
|
10
|
+
| width `v0.3.2-alpha.0` | 宽度 | _string\|number_ | - |
|
|
11
|
+
| height `v0.3.2-alpha.0` | 长度 | _string\|number_ | - |
|
|
12
|
+
| shape | 图片形状 `square` `rounded` `circle` | _boolean_ | - |
|
|
13
|
+
| lazyLoad | 是否开启图片懒加载 | _boolean_ | `false` |
|
|
14
|
+
| placeholder | 加载中提示 | _ReactNode_ | - |
|
|
15
|
+
| fallback | 加载失败提示 | _ReactNode_ | - |
|
|
16
|
+
|
|
17
|
+
### Modes
|
|
18
|
+
|
|
19
|
+
| 名称 | 含义 |
|
|
20
|
+
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
21
|
+
| scaleToFill | 缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素 |
|
|
22
|
+
| aspectFit | 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。 |
|
|
23
|
+
| aspectFill | 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。 |
|
|
24
|
+
| widthFix | 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变 |
|
|
25
|
+
| heightFix | 缩放模式,高度不变,宽度自动变化,保持原图宽高比不变 |
|
|
26
|
+
| top | 裁剪模式,不缩放图片,只显示图片的顶部区域 |
|
|
27
|
+
| bottom | 裁剪模式,不缩放图片,只显示图片的底部区域 |
|
|
28
|
+
| center | 裁剪模式,不缩放图片,只显示图片的中间区域 |
|
|
29
|
+
| left | 裁剪模式,不缩放图片,只显示图片的左边区域 |
|
|
30
|
+
| right | 裁剪模式,不缩放图片,只显示图片的右边区域 |
|
|
31
|
+
| topLeft | 裁剪模式,不缩放图片,只显示图片的左上边区域 |
|
|
32
|
+
| topRight | 裁剪模式,不缩放图片,只显示图片的右上边区域 |
|
|
33
|
+
| bottomLeft | 裁剪模式,不缩放图片,只显示图片的左下边区域 |
|
|
34
|
+
| bottomRight | 裁剪模式,不缩放图片,只显示图片的右下边区域 |
|
|
35
|
+
|
|
36
|
+
### Events
|
|
37
|
+
|
|
38
|
+
| 事件名 | 说明 | 回调参数 |
|
|
39
|
+
| ------- | ------------------ | ------------------- |
|
|
40
|
+
| onClick | 点击图片时触发 | _event: MouseEvent_ |
|
|
41
|
+
| onLoad | 图片加载完毕时触发 | - |
|
|
42
|
+
| onError | 图片加载失败时触发 | - |
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Image 图片
|
|
2
|
+
|
|
3
|
+
### 介绍
|
|
4
|
+
|
|
5
|
+
增强版的 taro Image 组件,提供多种图片填充模式,支持图片懒加载、加载中提示、加载失败提示。
|
|
6
|
+
|
|
7
|
+
### 引入
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
import { Image } from "@fjyueke/bify-core"
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 代码演示
|
|
14
|
+
|
|
15
|
+
### 基础用法
|
|
16
|
+
|
|
17
|
+
基础用法与原生 `img` 标签一致,可以设置 `src`、`alt` 等原生属性。<br>
|
|
18
|
+
通过 `width` 和 `height` 设置图片大小,若未指定,会从 style 中读取`width`,`height`属性。 <br>
|
|
19
|
+
width 和 height 若为 number, 会经过 `pxTransform` 转换
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
<Image width={200} height={200} src="https://img.yzcdn.cn/vant/cat.jpeg" />
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 填充模式
|
|
26
|
+
|
|
27
|
+
通过 `mode` 属性可以设置图片填充模式,可选值见下方表格。
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
<Image width={200} height={200} mode="scaleToFill" src="https://img.yzcdn.cn/vant/cat.jpeg" />
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 圆形图片
|
|
34
|
+
|
|
35
|
+
通过 `round` 属性可以设置图片变圆。
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
<Image shape="round" width={200} height={200} src="https://img.yzcdn.cn/vant/cat.jpeg" />
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### 图片懒加载
|
|
42
|
+
|
|
43
|
+
设置 `lazyLoad` 属性来开启图片懒加载。
|
|
44
|
+
|
|
45
|
+
```tsx
|
|
46
|
+
<Image lazyLoad width={200} height={200} src="https://img.yzcdn.cn/vant/cat.jpeg" />
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 加载中,加载失败提示
|
|
50
|
+
|
|
51
|
+
通过 `placeholder` 设置加载中提示,通过 `fallback`设置加载失败提示
|
|
52
|
+
|
|
53
|
+
```tsx
|
|
54
|
+
import { Photo, PhotoFail } from "@fjyueke/bify-icons"
|
|
55
|
+
|
|
56
|
+
<Image width={200} height={200} placeholder="加载中..." />
|
|
57
|
+
<Image width={200} height={200} src="error" fallback="加载失败" />
|
|
58
|
+
<Image width={200} height={200} src="error" fallback={<PhotoFail />} />
|
|
59
|
+
<Image width={200} height={200} placeholder={<Photo />} />
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## API
|
|
63
|
+
|
|
64
|
+
### Props
|
|
65
|
+
|
|
66
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
67
|
+
| ----------------------- | ------------------------------------ | ---------------- | ------------- |
|
|
68
|
+
| src | 图片链接 | _string_ | - |
|
|
69
|
+
| mode | 图片填充模式 | _string_ | `scaleToFill` |
|
|
70
|
+
| alt | 替代文本 | _string_ | - |
|
|
71
|
+
| width `v0.3.2-alpha.0` | 宽度 | _string\|number_ | - |
|
|
72
|
+
| height `v0.3.2-alpha.0` | 长度 | _string\|number_ | - |
|
|
73
|
+
| shape | 图片形状 `square` `rounded` `circle` | _boolean_ | - |
|
|
74
|
+
| lazyLoad | 是否开启图片懒加载 | _boolean_ | `false` |
|
|
75
|
+
| placeholder | 加载中提示 | _ReactNode_ | - |
|
|
76
|
+
| fallback | 加载失败提示 | _ReactNode_ | - |
|
|
77
|
+
|
|
78
|
+
### Modes
|
|
79
|
+
|
|
80
|
+
| 名称 | 含义 |
|
|
81
|
+
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
82
|
+
| scaleToFill | 缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素 |
|
|
83
|
+
| aspectFit | 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。 |
|
|
84
|
+
| aspectFill | 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。 |
|
|
85
|
+
| widthFix | 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变 |
|
|
86
|
+
| heightFix | 缩放模式,高度不变,宽度自动变化,保持原图宽高比不变 |
|
|
87
|
+
| top | 裁剪模式,不缩放图片,只显示图片的顶部区域 |
|
|
88
|
+
| bottom | 裁剪模式,不缩放图片,只显示图片的底部区域 |
|
|
89
|
+
| center | 裁剪模式,不缩放图片,只显示图片的中间区域 |
|
|
90
|
+
| left | 裁剪模式,不缩放图片,只显示图片的左边区域 |
|
|
91
|
+
| right | 裁剪模式,不缩放图片,只显示图片的右边区域 |
|
|
92
|
+
| topLeft | 裁剪模式,不缩放图片,只显示图片的左上边区域 |
|
|
93
|
+
| topRight | 裁剪模式,不缩放图片,只显示图片的右上边区域 |
|
|
94
|
+
| bottomLeft | 裁剪模式,不缩放图片,只显示图片的左下边区域 |
|
|
95
|
+
| bottomRight | 裁剪模式,不缩放图片,只显示图片的右下边区域 |
|
|
96
|
+
|
|
97
|
+
### Events
|
|
98
|
+
|
|
99
|
+
| 事件名 | 说明 | 回调参数 |
|
|
100
|
+
| ------- | ------------------ | ------------------- |
|
|
101
|
+
| onClick | 点击图片时触发 | _event: MouseEvent_ |
|
|
102
|
+
| onLoad | 图片加载完毕时触发 | - |
|
|
103
|
+
| onError | 图片加载失败时触发 | - |
|
|
104
|
+
|
|
105
|
+
## 主题定制
|
|
106
|
+
|
|
107
|
+
### 样式变量
|
|
108
|
+
|
|
109
|
+
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 [ConfigProvider](/components/config-provider/) 组件。
|
|
110
|
+
|
|
111
|
+
| 名称 | 默认值 | 描述 |
|
|
112
|
+
| ------------------------------------ | ------------------------- | ---- |
|
|
113
|
+
| --image-placeholder-color | _var(var(--gray-6)_ | - |
|
|
114
|
+
| --image-placeholder-font-size | _var(--font-size-md)_ | - |
|
|
115
|
+
| --image-placeholder-icon-size | _32px \* $hd_ | - |
|
|
116
|
+
| --image-placeholder-icon-color | _var(--gray-4)_ | - |
|
|
117
|
+
| --image-placeholder-background-color | _var(--background-color)_ | - |
|