m8-codex-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/README.md +113 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/000-/347/273/204/344/273/266/345/272/223/344/270/213/350/275/275/344/275/277/347/224/250.md +188 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/001-actionsheet/345/212/250/344/275/234/351/235/242/346/235/277.md +460 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/004-amap/345/234/260/345/233/276.md +285 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/005-button/346/214/211/351/222/256.md +211 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/008-cell/345/215/225/345/205/203/346/240/274.md +213 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/009-checkbox/345/244/215/351/200/211/346/241/206.md +501 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/010-circle/347/216/257/345/275/242/350/277/233/345/272/246/346/235/241.md +168 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/011-datepicker/346/227/245/346/234/237/351/200/211/346/213/251.md +617 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/013-field/350/276/223/345/205/245/346/241/206.md +539 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/015-form/350/241/250/345/215/225.md +999 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/018-header/345/244/264/351/203/250/345/257/274/350/210/252/346/240/217.md +150 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/019-icon/345/233/276/346/240/207.md +133 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/020-loading/345/212/240/350/275/275.md +117 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/021-noticebar/351/200/232/347/237/245/346/240/217.md +152 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/022-numberkeyboard/346/225/260/345/255/227/351/224/256/347/233/230.md +427 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/023-pagination/345/210/206/351/241/265.md +212 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/024-panel/351/235/242/346/235/277.md +85 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/025-passwordinput/345/257/206/347/240/201/350/276/223/345/205/245/346/241/206.md +175 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/026-picker/351/200/211/346/213/251/345/231/250.md +519 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/027-popup/345/274/271/345/207/272/345/261/202.md +152 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/028-progress/350/277/233/345/272/246/346/235/241.md +103 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/029-radio/345/215/225/351/200/211/346/241/206.md +285 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/030-rate/350/257/204/345/210/206.md +189 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/031-search/346/220/234/347/264/242.md +217 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/032-slider/346/273/221/345/235/227.md +166 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/033-stepper/346/255/245/350/277/233/345/231/250.md +340 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/035-swipecell/346/273/221/345/212/250/345/215/225/345/205/203/346/240/274.md +265 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/036-switch/345/274/200/345/205/263.md +196 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/037-switchcell/345/274/200/345/205/263/345/215/225/345/205/203/346/240/274.md +115 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/038-tag/346/240/207/350/256/260.md +232 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/039-treeselect/345/210/206/347/261/273/351/200/211/346/213/251.md +631 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/040-uploader/346/226/207/344/273/266/344/270/212/344/274/240.md +531 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/041-verifycode/351/252/214/350/257/201/347/240/201.md +111 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/042-minirefresh/344/270/213/346/213/211/345/210/267/346/226/260.md +337 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/043-layout/345/270/203/345/261/200.md +150 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/044-image/345/233/276/347/211/207.md +144 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/045-toast/350/275/273/346/217/220/347/244/272.md +429 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/046-calendar/346/227/245/345/216/206.md +467 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/047-area/347/234/201/345/270/202/345/214/272/351/200/211/346/213/251.md +295 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/048-tab/346/240/207/347/255/276/351/241/265.md +577 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/049-dialog/345/274/271/345/207/272/346/241/206.md +491 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/050-dropdownmenu/344/270/213/346/213/211/350/217/234/345/215/225.md +265 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/051-notify/346/266/210/346/201/257/351/200/232/347/237/245.md +203 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/052-overlay/351/201/256/347/275/251/345/261/202.md +139 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/053-collapse/346/212/230/345/217/240/351/235/242/346/235/277.md +199 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/054-grid/345/256/253/346/240/274.md +183 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/055-countdown/345/200/222/350/256/241/346/227/266.md +289 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/056-divider/345/210/206/345/211/262/347/272/277.md +97 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/057-empty/347/251/272/347/212/266/346/200/201.md +146 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/058-imagepreview/345/233/276/347/211/207/351/242/204/350/247/210.md +292 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/059-lazyload/346/207/222/345/212/240/350/275/275.md +120 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/060-skeleton/351/252/250/346/236/266/345/261/217.md +114 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/061-steps/346/255/245/351/252/244/346/235/241.md +119 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/062-sticky/347/262/230/346/200/247/345/270/203/345/261/200.md +208 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/063-indexbar/347/264/242/345/274/225/346/240/217.md +161 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/064-sidebar/344/276/247/350/276/271/345/257/274/350/210/252.md +248 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/065-tabbar/346/240/207/347/255/276/346/240/217.md +314 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/066-badge/345/276/275/346/240/207.md +162 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/067-popover/346/260/224/346/263/241/345/274/271/345/207/272/346/241/206.md +325 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/068-cascader/347/272/247/350/201/224/351/200/211/346/213/251.md +360 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/069-selectperson/351/200/211/344/272/272/347/273/204/344/273/266.md +595 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/070-swipe/350/275/256/346/222/255.md +262 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/071-/345/233/275/351/231/205/345/214/226.md +51 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/072-easycalendar/346/227/245/345/216/206.md +132 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/073-qrcode/344/272/214/347/273/264/347/240/201.md +1538 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/074-imagescale/345/233/276/347/211/207/350/243/201/345/211/252.md +261 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/075-dragsort/346/213/226/346/213/275/346/216/222/345/272/217.md +161 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/076-chart/345/233/276/350/241/250.md +381 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/077-rtc/351/237/263/350/247/206/351/242/221.md +531 -0
- package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/078-table/350/241/250/346/240/274.md +849 -0
- package/data/m8mpdoc//345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205.md +247 -0
- package/data/m8mpdoc//345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205vue3.md +276 -0
- package/data/m8mpdoc//345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244.md +130 -0
- package/data/m8mpdoc//345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244vue3.md +115 -0
- package/data/m8mpdoc//346/240/270/345/277/203/351/200/232/347/224/250Util/345/267/245/345/205/267/345/272/223/Ajax/344/270/216/346/226/207/344/273/266/344/270/212/344/274/240.md +456 -0
- package/data/m8mpdoc//346/240/270/345/277/203/351/200/232/347/224/250Util/345/267/245/345/205/267/345/272/223//345/267/245/345/205/267/345/207/275/346/225/260/345/272/223.md +398 -0
- package/data/standards/01-project/naming.md +158 -0
- package/data/standards/01-project/structure.md +106 -0
- package/data/standards/01-project/version-detection.md +195 -0
- package/data/standards/02-vue/basic.md +242 -0
- package/data/standards/02-vue/component.md +299 -0
- package/data/standards/02-vue/examples.md +240 -0
- package/data/standards/02-vue/performance.md +74 -0
- package/data/standards/02-vue/state-management.md +293 -0
- package/data/standards/03-css/index.md +165 -0
- package/data/standards/04-api/ajax.md +178 -0
- package/data/standards/04-api/ejs-api.md +192 -0
- package/data/standards/04-api/util.md +166 -0
- package/data/standards/05-typescript/index.md +166 -0
- package/data/standards/06-mock/index.md +154 -0
- package/data/standards/07-router/index.md +141 -0
- package/data/standards/README.md +82 -0
- package/data/standards/_index.md +215 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/knowledge/index.d.ts +36 -0
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/index.js +1 -0
- package/dist/templates/vue2.d.ts +41 -0
- package/dist/templates/vue2.d.ts.map +1 -0
- package/dist/templates/vue2.js +1 -0
- package/dist/templates/vue3.d.ts +41 -0
- package/dist/templates/vue3.d.ts.map +1 -0
- package/dist/templates/vue3.js +1 -0
- package/dist/tools/generate_module_structure.d.ts +21 -0
- package/dist/tools/generate_module_structure.d.ts.map +1 -0
- package/dist/tools/generate_module_structure.js +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# 组件使用
|
|
2
|
+
|
|
3
|
+
## cell 单元格
|
|
4
|
+
|
|
5
|
+
### 介绍
|
|
6
|
+
|
|
7
|
+
- 单元格组件。
|
|
8
|
+
|
|
9
|
+
::: ifdef M83
|
|
10
|
+
|
|
11
|
+
- `v8.3.11`开始支持 weex 端使用
|
|
12
|
+
|
|
13
|
+
::: endif
|
|
14
|
+
|
|
15
|
+
### 代码演示
|
|
16
|
+
|
|
17
|
+
#### 基础用法
|
|
18
|
+
|
|
19
|
+
`Cell` 可以单独使用,也可以与 `CellGroup` 搭配使用,`CellGroup` 可以为 `Cell` 提供上下外边框。由于最后一个 `Cell` 和 `CellGroup` 的下边都有边框,会有边框重叠问题,需要手动将最后一个 `Cell` 设置成不显示边框。
|
|
20
|
+
|
|
21
|
+
```html
|
|
22
|
+
<em-cell-group>
|
|
23
|
+
<em-cell title="单元格" value="内容" />
|
|
24
|
+
<em-cell title="单元格" value="内容" label="描述信息" :border="false" />
|
|
25
|
+
</em-cell-group>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
#### 单元格大小
|
|
29
|
+
|
|
30
|
+
通过 `size` 属性可以控制单元格的大小。
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<em-cell title="单元格" value="内容" size="large" />
|
|
34
|
+
<em-cell title="单元格" value="内容" size="large" label="描述信息" />
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
#### 展示图标
|
|
38
|
+
|
|
39
|
+
通过 `icon` 属性在标题左侧展示图标。
|
|
40
|
+
|
|
41
|
+
```html
|
|
42
|
+
<em-cell title="单元格" icon="location-o" />
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
#### 只设置 value
|
|
46
|
+
|
|
47
|
+
只设置 `value` 时,内容会靠左对齐。
|
|
48
|
+
|
|
49
|
+
```html
|
|
50
|
+
<em-cell value="内容" />
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
#### 展示箭头
|
|
54
|
+
|
|
55
|
+
设置 `is-link` 属性后会在单元格右侧显示箭头,并且可以通过 `arrow-direction` 属性控制箭头方向。
|
|
56
|
+
|
|
57
|
+
```html
|
|
58
|
+
<em-cell title="单元格" is-link />
|
|
59
|
+
<em-cell title="单元格" is-link value="内容" />
|
|
60
|
+
<em-cell title="单元格" is-link arrow-direction="down" value="内容" />
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### 页面导航
|
|
64
|
+
|
|
65
|
+
可以通过 `url` 属性进行 `URL` 跳转,或通过 `to` 属性进行路由跳转。
|
|
66
|
+
|
|
67
|
+
```html
|
|
68
|
+
<em-cell title="URL 跳转" is-link url="/van/mobile.html" />
|
|
69
|
+
<em-cell title="路由跳转" is-link to="index" />
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### 分组标题
|
|
73
|
+
|
|
74
|
+
通过 `CellGroup` 的 `title` 属性可以指定分组标题。
|
|
75
|
+
|
|
76
|
+
```html
|
|
77
|
+
<em-cell-group title="分组1">
|
|
78
|
+
<em-cell title="单元格" value="内容" />
|
|
79
|
+
</em-cell-group>
|
|
80
|
+
<em-cell-group title="分组2">
|
|
81
|
+
<em-cell title="单元格" value="内容" />
|
|
82
|
+
</em-cell-group>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
#### 使用插槽
|
|
86
|
+
|
|
87
|
+
如以上用法不能满足你的需求,可以使用插槽来自定义内容。
|
|
88
|
+
|
|
89
|
+
```html
|
|
90
|
+
<em-cell value="内容" is-link>
|
|
91
|
+
<!-- 使用 title 插槽来自定义标题 -->
|
|
92
|
+
<template #title>
|
|
93
|
+
<span class="custom-title">单元格</span>
|
|
94
|
+
<em-tag type="danger">标签</em-tag>
|
|
95
|
+
</template>
|
|
96
|
+
</em-cell>
|
|
97
|
+
|
|
98
|
+
<em-cell title="单元格" icon="shop-o">
|
|
99
|
+
<!-- 使用 rightIcon 插槽来自定义右侧图标 -->
|
|
100
|
+
<template #rightIcon>
|
|
101
|
+
<em-icon name="search" class="search-icon" />
|
|
102
|
+
</template>
|
|
103
|
+
</em-cell>
|
|
104
|
+
|
|
105
|
+
<style>
|
|
106
|
+
.custom-title {
|
|
107
|
+
margin-right: 4px;
|
|
108
|
+
vertical-align: middle;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.search-icon {
|
|
112
|
+
font-size: 16px;
|
|
113
|
+
line-height: inherit;
|
|
114
|
+
}
|
|
115
|
+
</style>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
#### 垂直居中
|
|
119
|
+
|
|
120
|
+
通过 `center` 属性可以让 `Cell` 的左右内容都垂直居中。
|
|
121
|
+
|
|
122
|
+
```html
|
|
123
|
+
<em-cell center title="单元格" value="内容" label="描述信息" />
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### API
|
|
127
|
+
|
|
128
|
+
#### CellGroup Props
|
|
129
|
+
|
|
130
|
+
| 参数 | 说明 | 类型 | 默认值 | ::: ifdef M83 weex 端支持 ::: endif |
|
|
131
|
+
| :----- | :------------: | :------ | :----- | :---------------------------------- |
|
|
132
|
+
| title | 分组标题 | string | - | 是 |
|
|
133
|
+
| border | 是否显示外边框 | boolean | `true` | 是 |
|
|
134
|
+
|
|
135
|
+
#### Cell Props
|
|
136
|
+
|
|
137
|
+
| 参数 | 说明 | 类型 | 默认值 | ::: ifdef M83 weex 端支持 ::: endif |
|
|
138
|
+
| :-------------- | :------------------------------------------------: | :-------------- | :--------- | :---------------------------------- |
|
|
139
|
+
| title | 左侧标题 | number / string | - | 是 |
|
|
140
|
+
| value | 右侧内容 | number / string | - | 是 |
|
|
141
|
+
| label | 标题下方的描述信息 | string | - | 是 |
|
|
142
|
+
| size | 单元格大小,可选值为 large | string | - | 是 |
|
|
143
|
+
| icon | 左侧图标名称或图片链接 | string | - | 是 |
|
|
144
|
+
| icon-prefix | 图标类名前缀,同 Icon 组件的 class-prefix 属性 | string | `van-icon` | 否 |
|
|
145
|
+
| url | 点击后跳转的链接地址 | string | - | 是 |
|
|
146
|
+
| to | 点击后跳转的目标路由对象,同 vue-router 的 to 属性 | string / object | - | 是 |
|
|
147
|
+
| border | 是否显示内边框 | boolean | `true` | 是 |
|
|
148
|
+
| replace | 是否在跳转时替换当前页面历史 | boolean | `false` | 是 |
|
|
149
|
+
| clickable | 是否开启点击反馈 | boolean | `false` | 是 |
|
|
150
|
+
| is-link | 是否展示右侧箭头并开启点击反馈 | boolean | `false` | 是 |
|
|
151
|
+
| required | 是否显示表单必填星号 | boolean | `false` | 是 |
|
|
152
|
+
| center | 是否使内容垂直居中 | boolean | `false` | 否(weex 端默认居中) |
|
|
153
|
+
| arrow-direction | 箭头方向,可选值为 left up down | string | `right` | 是 |
|
|
154
|
+
| extraPosition | extra 插槽的位置,可选值为 left right | string | `right` | 是 |
|
|
155
|
+
| title-style | 左侧标题额外样式 | string | - | 否 |
|
|
156
|
+
| title-class | 左侧标题额外类名 | string | - | 否 |
|
|
157
|
+
| value-class | 右侧内容额外类名 | string | - | 否 |
|
|
158
|
+
| label-class | 描述信息额外类名 | string | - | 否 |
|
|
159
|
+
|
|
160
|
+
#### Cell Events
|
|
161
|
+
|
|
162
|
+
| 事件名 | 说明 | 回调参数 |
|
|
163
|
+
| :----- | :--------------: | :----------- |
|
|
164
|
+
| click | 点击单元格时触发 | event: Event |
|
|
165
|
+
|
|
166
|
+
#### CellGroup Slots
|
|
167
|
+
|
|
168
|
+
| 名称 | 说明 |
|
|
169
|
+
| :------ | :------------: |
|
|
170
|
+
| default | 默认插槽 |
|
|
171
|
+
| title | 自定义分组标题 |
|
|
172
|
+
|
|
173
|
+
#### Cell Slots
|
|
174
|
+
|
|
175
|
+
| 名称 | 说明 |
|
|
176
|
+
| :-------- | :--------------------------: |
|
|
177
|
+
| default | 自定义右侧 value 的内容 |
|
|
178
|
+
| title | 自定义左侧 title 的内容 |
|
|
179
|
+
| label | 自定义标题下方 label 的内容 |
|
|
180
|
+
| icon | 自定义左侧图标 |
|
|
181
|
+
| rightIcon | 自定义右侧按钮,默认为 arrow |
|
|
182
|
+
| extra | 自定义单元格的额外内容 |
|
|
183
|
+
|
|
184
|
+
::: ifdef M83
|
|
185
|
+
<iframe
|
|
186
|
+
src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-cell"
|
|
187
|
+
frameborder=0
|
|
188
|
+
allowfullscreen class="ui-showcase-iframe">
|
|
189
|
+
</iframe>
|
|
190
|
+
::: endif
|
|
191
|
+
::: ifdef M84
|
|
192
|
+
<iframe
|
|
193
|
+
src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-cell"
|
|
194
|
+
frameborder=0
|
|
195
|
+
allowfullscreen class="ui-showcase-iframe">
|
|
196
|
+
</iframe>
|
|
197
|
+
::: endif
|
|
198
|
+
|
|
199
|
+
<style>
|
|
200
|
+
.ui-showcase-iframe {
|
|
201
|
+
position: fixed;
|
|
202
|
+
right: 3.5vw;
|
|
203
|
+
top: 17%;
|
|
204
|
+
width: 375px;
|
|
205
|
+
height: 75vh;
|
|
206
|
+
box-shadow: 0 0 12px 6px #eee;
|
|
207
|
+
border-radius: 15px;
|
|
208
|
+
}
|
|
209
|
+
.main .markdown-body {
|
|
210
|
+
padding: 45px;
|
|
211
|
+
width: calc(97vw - 661px);
|
|
212
|
+
}
|
|
213
|
+
</style>
|
|
@@ -0,0 +1,501 @@
|
|
|
1
|
+
# 组件使用
|
|
2
|
+
|
|
3
|
+
## checkbox 复选框
|
|
4
|
+
|
|
5
|
+
### 介绍
|
|
6
|
+
|
|
7
|
+
- 复选框。
|
|
8
|
+
|
|
9
|
+
### 代码演示
|
|
10
|
+
|
|
11
|
+
#### 基础用法
|
|
12
|
+
|
|
13
|
+
通过`v-model`绑定复选框的勾选状态
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<em-checkbox v-model="checked">复选框</em-checkbox>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
::: ifdef M83
|
|
20
|
+
|
|
21
|
+
```js
|
|
22
|
+
export default {
|
|
23
|
+
data() {
|
|
24
|
+
return {
|
|
25
|
+
checked: true
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
::: endif
|
|
32
|
+
::: ifdef M84
|
|
33
|
+
|
|
34
|
+
```js
|
|
35
|
+
import { ref } from 'vue';
|
|
36
|
+
|
|
37
|
+
const checked = ref(true);
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
::: endif
|
|
41
|
+
|
|
42
|
+
#### 禁用状态
|
|
43
|
+
|
|
44
|
+
通过设置`disabled`属性可以禁用复选框
|
|
45
|
+
|
|
46
|
+
```html
|
|
47
|
+
<em-checkbox v-model="checked" disabled>复选框</em-checkbox>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
#### 自定义形状
|
|
51
|
+
|
|
52
|
+
将`shape`属性设置为`round`,复选框的形状会变成圆形,
|
|
53
|
+
|
|
54
|
+
其他形状属性值需要在组件中预设,建议其他形状使用【自定义图标】
|
|
55
|
+
|
|
56
|
+
```html
|
|
57
|
+
<em-checkbox v-model="checked" shape="round">复选框</em-checkbox>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### 自定义颜色
|
|
61
|
+
|
|
62
|
+
通过`checked-color`属性设置选中状态的图标颜色
|
|
63
|
+
|
|
64
|
+
```html
|
|
65
|
+
<em-checkbox v-model="checked" checked-color="#07c160">复选框</em-checkbox>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
#### 自定义大小
|
|
69
|
+
|
|
70
|
+
通过`icon-size`属性可以自定义图标的大小
|
|
71
|
+
|
|
72
|
+
```html
|
|
73
|
+
<em-checkbox v-model="checked" icon-size="24px">复选框</em-checkbox>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
#### 自定义图标
|
|
77
|
+
|
|
78
|
+
通过 `icon` 插槽自定义图标,可以通过`slotProps`判断是否为选中状态
|
|
79
|
+
|
|
80
|
+
**注意:**
|
|
81
|
+
|
|
82
|
+
因微信和支付宝小程序兼容性问题,需在 `em-checkbox` 或 `em-checkbox-group` 标签上添加 `icon` 属性, 纯 h5 环境中可不加
|
|
83
|
+
|
|
84
|
+
```html
|
|
85
|
+
<em-checkbox v-model="checked" icon>
|
|
86
|
+
自定义图标
|
|
87
|
+
<template #icon="props">
|
|
88
|
+
<img class="img-icon" :src="props.checked ? activeIcon : inactiveIcon" />
|
|
89
|
+
</template>
|
|
90
|
+
</em-checkbox>
|
|
91
|
+
|
|
92
|
+
<style>
|
|
93
|
+
.img-icon {
|
|
94
|
+
height: 20px;
|
|
95
|
+
}
|
|
96
|
+
</style>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
::: ifdef M83
|
|
100
|
+
|
|
101
|
+
```js
|
|
102
|
+
export default {
|
|
103
|
+
data() {
|
|
104
|
+
return {
|
|
105
|
+
checked: true,
|
|
106
|
+
activeIcon: 'https://img.yzcdn.cn/vant/user-active.png',
|
|
107
|
+
inactiveIcon: 'https://img.yzcdn.cn/vant/user-inactive.png'
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
::: endif
|
|
114
|
+
::: ifdef M84
|
|
115
|
+
|
|
116
|
+
```js
|
|
117
|
+
import { ref } from 'vue';
|
|
118
|
+
|
|
119
|
+
const checked = ref(true);
|
|
120
|
+
const activeIcon = ref('https://img.yzcdn.cn/vant/user-active.png');
|
|
121
|
+
const inactiveIcon = ref('https://img.yzcdn.cn/vant/user-inactive.png');
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
::: endif
|
|
125
|
+
|
|
126
|
+
#### 中选框
|
|
127
|
+
|
|
128
|
+
设置 `indeterminate` 属性可调整复选框风格
|
|
129
|
+
|
|
130
|
+
```html
|
|
131
|
+
<em-checkbox v-model="checked" :indeterminate="indeterminate">中选框</em-checkbox>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
::: ifdef M83
|
|
135
|
+
|
|
136
|
+
```js
|
|
137
|
+
export default {
|
|
138
|
+
data() {
|
|
139
|
+
return {
|
|
140
|
+
checked: true,
|
|
141
|
+
indeterminate: true
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
::: endif
|
|
148
|
+
::: ifdef M84
|
|
149
|
+
|
|
150
|
+
```js
|
|
151
|
+
import { ref } from 'vue';
|
|
152
|
+
|
|
153
|
+
const checked = ref(true);
|
|
154
|
+
const indeterminate = ref(true);
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
::: endif
|
|
158
|
+
|
|
159
|
+
#### 禁用文本点击
|
|
160
|
+
|
|
161
|
+
设置`label-disabled`属性后,点击图标以外的内容不会触发复选框切换
|
|
162
|
+
|
|
163
|
+
```html
|
|
164
|
+
<em-checkbox v-model="checked" label-disabled>复选框</em-checkbox>
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
#### 复选框组
|
|
168
|
+
|
|
169
|
+
复选框可以与复选框组一起使用,复选框组通过`v-model`数组绑定复选框的勾选状态
|
|
170
|
+
|
|
171
|
+
```html
|
|
172
|
+
<em-checkbox-group v-model="result">
|
|
173
|
+
<em-checkbox name="a">复选框 a</em-checkbox>
|
|
174
|
+
<em-checkbox name="b">复选框 b</em-checkbox>
|
|
175
|
+
</em-checkbox-group>
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
::: ifdef M83
|
|
179
|
+
|
|
180
|
+
```js
|
|
181
|
+
export default {
|
|
182
|
+
data() {
|
|
183
|
+
return {
|
|
184
|
+
result: ['a', 'b']
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
::: endif
|
|
191
|
+
::: ifdef M84
|
|
192
|
+
|
|
193
|
+
```js
|
|
194
|
+
import { ref } from 'vue';
|
|
195
|
+
const result = ref(['a', 'b']);
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
::: endif
|
|
199
|
+
|
|
200
|
+
#### 水平排列
|
|
201
|
+
|
|
202
|
+
将`direction`属性设置为`horizontal`后,复选框组会变成水平排列
|
|
203
|
+
|
|
204
|
+
```html
|
|
205
|
+
<em-checkbox-group v-model="result" direction="horizontal">
|
|
206
|
+
<em-checkbox name="a">复选框 a</em-checkbox>
|
|
207
|
+
<em-checkbox name="b">复选框 b</em-checkbox>
|
|
208
|
+
</em-checkbox-group>
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
::: ifdef M83
|
|
212
|
+
|
|
213
|
+
```js
|
|
214
|
+
export default {
|
|
215
|
+
data() {
|
|
216
|
+
return {
|
|
217
|
+
result: []
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
::: endif
|
|
224
|
+
::: ifdef M84
|
|
225
|
+
|
|
226
|
+
```js
|
|
227
|
+
import { ref } from 'vue';
|
|
228
|
+
const result = ref([]);
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
::: endif
|
|
232
|
+
|
|
233
|
+
#### 限制最大可选数
|
|
234
|
+
|
|
235
|
+
通过`max`属性可以限制复选框组的最大可选数
|
|
236
|
+
|
|
237
|
+
```html
|
|
238
|
+
<em-checkbox-group v-model="result" :max="2">
|
|
239
|
+
<em-checkbox name="a">复选框 a</em-checkbox>
|
|
240
|
+
<em-checkbox name="b">复选框 b</em-checkbox>
|
|
241
|
+
<em-checkbox name="c">复选框 c</em-checkbox>
|
|
242
|
+
</em-checkbox-group>
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
#### 全选与反选
|
|
246
|
+
|
|
247
|
+
通过`CheckboxGroup`实例上的`toggleAll`方法可以实现全选与反选
|
|
248
|
+
|
|
249
|
+
```html
|
|
250
|
+
<em-checkbox-group v-model="result" ref="checkboxGroup">
|
|
251
|
+
<em-checkbox name="a">复选框 a</em-checkbox>
|
|
252
|
+
<em-checkbox name="b">复选框 b</em-checkbox>
|
|
253
|
+
<em-checkbox name="c">复选框 c</em-checkbox>
|
|
254
|
+
</em-checkbox-group>
|
|
255
|
+
|
|
256
|
+
<em-button type="primary" @click="checkAll">全选</em-button>
|
|
257
|
+
<em-button type="info" @click="toggleAll">反选</em-button>
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
::: ifdef M83
|
|
261
|
+
|
|
262
|
+
```js
|
|
263
|
+
export default {
|
|
264
|
+
data() {
|
|
265
|
+
return {
|
|
266
|
+
result: []
|
|
267
|
+
};
|
|
268
|
+
},
|
|
269
|
+
methods: {
|
|
270
|
+
checkAll() {
|
|
271
|
+
this.$refs.checkboxGroup.toggleAll(true);
|
|
272
|
+
},
|
|
273
|
+
toggleAll() {
|
|
274
|
+
this.$refs.checkboxGroup.toggleAll();
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
::: endif
|
|
281
|
+
::: ifdef M84
|
|
282
|
+
|
|
283
|
+
```js
|
|
284
|
+
import { ref } from 'vue';
|
|
285
|
+
const result = ref([]);
|
|
286
|
+
const checkboxGroup = ref(null);
|
|
287
|
+
const checkAll = () => {
|
|
288
|
+
// 获取 checkboxGroup 的引用并调用 toggleAll
|
|
289
|
+
checkboxGroup.value.toggleAll(true);
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
const toggleAll = () => {
|
|
293
|
+
// 获取 checkboxGroup 的引用并调用 toggleAll
|
|
294
|
+
checkboxGroup.value.toggleAll();
|
|
295
|
+
};
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
::: endif
|
|
299
|
+
|
|
300
|
+
#### 搭配单元格组件使用
|
|
301
|
+
|
|
302
|
+
此时你需要再引入`Cell`和`CellGroup`组件,并通过`Checkbox`实例上的 `toggle` 方法触发切换
|
|
303
|
+
|
|
304
|
+
```html
|
|
305
|
+
<em-checkbox-group v-model="result">
|
|
306
|
+
<em-cell-group>
|
|
307
|
+
<em-cell v-for="(item, index) in list" clickable :key="item" :title="`复选框 ${item}`" @click="toggle(index)">
|
|
308
|
+
<template #rightIcon>
|
|
309
|
+
<em-checkbox :name="item" ref="checkboxes" />
|
|
310
|
+
</template>
|
|
311
|
+
</em-cell>
|
|
312
|
+
</em-cell-group>
|
|
313
|
+
</em-checkbox-group>
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
::: ifdef M83
|
|
317
|
+
|
|
318
|
+
```js
|
|
319
|
+
export default {
|
|
320
|
+
data() {
|
|
321
|
+
return {
|
|
322
|
+
list: ['a', 'b'],
|
|
323
|
+
result: []
|
|
324
|
+
};
|
|
325
|
+
},
|
|
326
|
+
methods: {
|
|
327
|
+
toggle(index) {
|
|
328
|
+
this.$refs.checkboxes[index].toggle();
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
::: endif
|
|
335
|
+
::: ifdef M84
|
|
336
|
+
|
|
337
|
+
```js
|
|
338
|
+
import { ref } from 'vue';
|
|
339
|
+
const list = ref(['a', 'b']);
|
|
340
|
+
const result = ref([]);
|
|
341
|
+
const checkboxes = ref([]);
|
|
342
|
+
|
|
343
|
+
const toggle = (index) => {
|
|
344
|
+
checkboxes.value[index].toggle(); // 假设这里用来切换选中状态
|
|
345
|
+
};
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
::: endif
|
|
349
|
+
|
|
350
|
+
### API
|
|
351
|
+
|
|
352
|
+
#### Checkbox Props
|
|
353
|
+
|
|
354
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
355
|
+
| :--------------------------------------------------------------------------- | :--------------------------------------------: | :-------------- | :-------- |
|
|
356
|
+
| v-model ::: ifdef M83 (value) ::: endif ::: ifdef M84 (modelValue) ::: endif | 是否为选中状态 | boolean | `false` |
|
|
357
|
+
| name | 标识符,注意微信小程序请传递字符串 | any | - |
|
|
358
|
+
| shape | 形状,可选值为 `round` | string | `square` |
|
|
359
|
+
| indeterminate | 启用中选框 | boolean | `false` |
|
|
360
|
+
| disabled | 是否禁用复选框 | boolean | `false` |
|
|
361
|
+
| label-disabled | 是否禁用复选框文本点击 | boolean | `false` |
|
|
362
|
+
| label-position | 文本位置,可选值为 `left` | string | `right` |
|
|
363
|
+
| icon-size | 图标大小,默认单位为`px` | number / string | `20px` |
|
|
364
|
+
| icon | 自定义图标依赖该属性用于兼容微信和支付宝小程序 | boolean | `false` |
|
|
365
|
+
| checked-color | 选中状态颜色 | string | `#1989fa` |
|
|
366
|
+
| bind-group | 是否与复选框组绑定 | boolean | `true` |
|
|
367
|
+
|
|
368
|
+
#### CheckboxGroup Props
|
|
369
|
+
|
|
370
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
371
|
+
| :--------------------------------------------------------------------------- | :--------------------------------------------: | :-------------- | :--------- |
|
|
372
|
+
| v-model ::: ifdef M83 (value) ::: endif ::: ifdef M84 (modelValue) ::: endif | 所有选中项的标识符 | any[] | - |
|
|
373
|
+
| disabled | 是否禁用所有复选框 | boolean | `false` |
|
|
374
|
+
| max | 最大可选数,0 为无限制 | number / string | 0 |
|
|
375
|
+
| icon | 自定义图标依赖该属性用于兼容微信和支付宝小程序 | boolean | `false` |
|
|
376
|
+
| direction | 排列方向,可选值为`horizontal` | string | `vertical` |
|
|
377
|
+
| icon-size | 所有复选框的图标大小,默认单位为`px` | number / string | `20px` |
|
|
378
|
+
| checked-color | 所有复选框的选中状态颜色 | string | `#1989fa` |
|
|
379
|
+
|
|
380
|
+
#### Checkbox Events
|
|
381
|
+
|
|
382
|
+
| 事件名 | 说明 | 回调参数 |
|
|
383
|
+
| :-------------------------------------------- | :----------------------: | :--------------- |
|
|
384
|
+
| change | 当绑定值变化时触发的事件 | checked: boolean |
|
|
385
|
+
| click | 点击复选框时触发 | event: Event |
|
|
386
|
+
| ::: ifdef M84 update:checked `v8.4` ::: endif | 用于同步 checked 事件 | checked: boolean |
|
|
387
|
+
|
|
388
|
+
#### CheckboxGroup Events
|
|
389
|
+
|
|
390
|
+
| 事件名 | 说明 | 回调参数 |
|
|
391
|
+
| :----- | :----------------------: | :----------- |
|
|
392
|
+
| change | 当绑定值变化时触发的事件 | names: any[] |
|
|
393
|
+
|
|
394
|
+
#### Checkbox Slots
|
|
395
|
+
|
|
396
|
+
| 名称 | 说明 | SlotProps |
|
|
397
|
+
| :------ | :--------: | :--------------- |
|
|
398
|
+
| default | 自定义文本 | - |
|
|
399
|
+
| icon | 自定义图标 | checked: boolean |
|
|
400
|
+
|
|
401
|
+
#### CheckboxGroup 方法
|
|
402
|
+
|
|
403
|
+
通过 `ref` 可以获取到 `CheckboxGroup` 实例并调用实例方法,详见组件实例方法
|
|
404
|
+
|
|
405
|
+
| 方法名 | 说明 | 参数 | 返回值 |
|
|
406
|
+
| :-------- | :------------------------------------------------------------: | :----------------------- | :----- |
|
|
407
|
+
| toggleAll | 切换所有复选框,传 true 为选中,false 为取消选中,不传参为取反 | options?: boolean/object | - |
|
|
408
|
+
| toggle | 切换所选复选框,传数组下标,自动进行切换状态 | Number | - |
|
|
409
|
+
|
|
410
|
+
#### toggleAll 方法示例
|
|
411
|
+
|
|
412
|
+
::: ifdef M83
|
|
413
|
+
|
|
414
|
+
```js
|
|
415
|
+
const { checkboxGroup } = this.$refs;
|
|
416
|
+
|
|
417
|
+
// 全部反选
|
|
418
|
+
checkboxGroup.toggleAll();
|
|
419
|
+
// 全部选中
|
|
420
|
+
checkboxGroup.toggleAll(true);
|
|
421
|
+
// 全部取消
|
|
422
|
+
checkboxGroup.toggleAll(false);
|
|
423
|
+
|
|
424
|
+
// 全部反选,并跳过禁用的复选框, M8框架8.2.10版本以上支持
|
|
425
|
+
checkboxGroup.toggleAll({
|
|
426
|
+
skipDisabled: true
|
|
427
|
+
});
|
|
428
|
+
// 全部选中,并跳过禁用的复选框,M8框架8.2.10版本以上支持
|
|
429
|
+
checkboxGroup.toggleAll({
|
|
430
|
+
checked: true,
|
|
431
|
+
skipDisabled: true
|
|
432
|
+
});
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
::: endif
|
|
436
|
+
|
|
437
|
+
::: ifdef M84
|
|
438
|
+
|
|
439
|
+
```js
|
|
440
|
+
import { ref } from 'vue';
|
|
441
|
+
const checkboxGroup = ref(null);
|
|
442
|
+
|
|
443
|
+
// 全部反选
|
|
444
|
+
checkboxGroup.value.toggleAll();
|
|
445
|
+
// 全部选中
|
|
446
|
+
checkboxGroup.value.toggleAll(true);
|
|
447
|
+
// 全部取消
|
|
448
|
+
checkboxGroup.value.toggleAll(false);
|
|
449
|
+
|
|
450
|
+
// 全部反选,并跳过禁用的复选框, M8框架8.2.10版本以上支持
|
|
451
|
+
checkboxGroup.value.toggleAll({
|
|
452
|
+
skipDisabled: true
|
|
453
|
+
});
|
|
454
|
+
// 全部选中,并跳过禁用的复选框,M8框架8.2.10版本以上支持
|
|
455
|
+
checkboxGroup.value.toggleAll({
|
|
456
|
+
checked: true,
|
|
457
|
+
skipDisabled: true
|
|
458
|
+
});
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
::: endif
|
|
462
|
+
|
|
463
|
+
#### Checkbox 方法
|
|
464
|
+
|
|
465
|
+
通过 `ref` 可以获取到 `Checkbox` 实例并调用实例方法,详见组件实例方法
|
|
466
|
+
|
|
467
|
+
| 方法名 | 说明 | 参数 | 返回值 |
|
|
468
|
+
| :----- | :----------------------------------------------------------: | :---------------- | :----- |
|
|
469
|
+
| toggle | 切换选中状态,传 true 为选中,false 为取消选中,不传参为取反 | checked?: boolean | - |
|
|
470
|
+
|
|
471
|
+
::: ifdef M83
|
|
472
|
+
|
|
473
|
+
<iframe
|
|
474
|
+
src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-checkbox"
|
|
475
|
+
frameborder=0
|
|
476
|
+
allowfullscreen class="ui-showcase-iframe">
|
|
477
|
+
</iframe>
|
|
478
|
+
::: endif
|
|
479
|
+
::: ifdef M84
|
|
480
|
+
<iframe
|
|
481
|
+
src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-checkbox"
|
|
482
|
+
frameborder=0
|
|
483
|
+
allowfullscreen class="ui-showcase-iframe">
|
|
484
|
+
</iframe>
|
|
485
|
+
::: endif
|
|
486
|
+
|
|
487
|
+
<style>
|
|
488
|
+
.ui-showcase-iframe {
|
|
489
|
+
position: fixed;
|
|
490
|
+
right: 3.5vw;
|
|
491
|
+
top: 17%;
|
|
492
|
+
width: 375px;
|
|
493
|
+
height: 75vh;
|
|
494
|
+
box-shadow: 0 0 12px 6px #eee;
|
|
495
|
+
border-radius: 15px;
|
|
496
|
+
}
|
|
497
|
+
.main .markdown-body {
|
|
498
|
+
padding: 45px;
|
|
499
|
+
width: calc(97vw - 661px);
|
|
500
|
+
}
|
|
501
|
+
</style>
|