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.
Files changed (110) hide show
  1. package/README.md +113 -0
  2. 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
  3. 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
  4. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/004-amap/345/234/260/345/233/276.md +285 -0
  5. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/005-button/346/214/211/351/222/256.md +211 -0
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/015-form/350/241/250/345/215/225.md +999 -0
  12. 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
  13. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/019-icon/345/233/276/346/240/207.md +133 -0
  14. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/020-loading/345/212/240/350/275/275.md +117 -0
  15. 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
  16. 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
  17. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/023-pagination/345/210/206/351/241/265.md +212 -0
  18. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/024-panel/351/235/242/346/235/277.md +85 -0
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/030-rate/350/257/204/345/210/206.md +189 -0
  25. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/031-search/346/220/234/347/264/242.md +217 -0
  26. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/032-slider/346/273/221/345/235/227.md +166 -0
  27. 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
  28. 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
  29. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/036-switch/345/274/200/345/205/263.md +196 -0
  30. 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
  31. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/038-tag/346/240/207/350/256/260.md +232 -0
  32. 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
  33. 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
  34. 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
  35. 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
  36. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/043-layout/345/270/203/345/261/200.md +150 -0
  37. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/044-image/345/233/276/347/211/207.md +144 -0
  38. 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
  39. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/046-calendar/346/227/245/345/216/206.md +467 -0
  40. 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
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/054-grid/345/256/253/346/240/274.md +183 -0
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/066-badge/345/276/275/346/240/207.md +162 -0
  60. 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
  61. 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
  62. 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
  63. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/070-swipe/350/275/256/346/222/255.md +262 -0
  64. 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
  65. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/072-easycalendar/346/227/245/345/216/206.md +132 -0
  66. 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
  67. 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
  68. 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
  69. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/076-chart/345/233/276/350/241/250.md +381 -0
  70. 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
  71. package/data/m8mpdoc/UI/347/273/204/344/273/266/345/272/223/078-table/350/241/250/346/240/274.md +849 -0
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. package/data/standards/01-project/naming.md +158 -0
  79. package/data/standards/01-project/structure.md +106 -0
  80. package/data/standards/01-project/version-detection.md +195 -0
  81. package/data/standards/02-vue/basic.md +242 -0
  82. package/data/standards/02-vue/component.md +299 -0
  83. package/data/standards/02-vue/examples.md +240 -0
  84. package/data/standards/02-vue/performance.md +74 -0
  85. package/data/standards/02-vue/state-management.md +293 -0
  86. package/data/standards/03-css/index.md +165 -0
  87. package/data/standards/04-api/ajax.md +178 -0
  88. package/data/standards/04-api/ejs-api.md +192 -0
  89. package/data/standards/04-api/util.md +166 -0
  90. package/data/standards/05-typescript/index.md +166 -0
  91. package/data/standards/06-mock/index.md +154 -0
  92. package/data/standards/07-router/index.md +141 -0
  93. package/data/standards/README.md +82 -0
  94. package/data/standards/_index.md +215 -0
  95. package/dist/index.d.ts +10 -0
  96. package/dist/index.d.ts.map +1 -0
  97. package/dist/index.js +2 -0
  98. package/dist/knowledge/index.d.ts +36 -0
  99. package/dist/knowledge/index.d.ts.map +1 -0
  100. package/dist/knowledge/index.js +1 -0
  101. package/dist/templates/vue2.d.ts +41 -0
  102. package/dist/templates/vue2.d.ts.map +1 -0
  103. package/dist/templates/vue2.js +1 -0
  104. package/dist/templates/vue3.d.ts +41 -0
  105. package/dist/templates/vue3.d.ts.map +1 -0
  106. package/dist/templates/vue3.js +1 -0
  107. package/dist/tools/generate_module_structure.d.ts +21 -0
  108. package/dist/tools/generate_module_structure.d.ts.map +1 -0
  109. package/dist/tools/generate_module_structure.js +1 -0
  110. package/package.json +47 -0
@@ -0,0 +1,261 @@
1
+ # 组件使用
2
+
3
+ ## imagescale 图片裁剪
4
+
5
+ ### 介绍
6
+
7
+ - 图片裁剪组件。
8
+
9
+ ### 代码演示
10
+
11
+ #### 基础图片裁剪
12
+
13
+ ```html
14
+ <image :src="url1" v-if="url1" mode="widthFix"></image>
15
+ <em-image-scale
16
+ v-if="show1"
17
+ :image-url="imageUrl1"
18
+ @success="
19
+ url1 = $event.url;
20
+ show1 = false;
21
+ "
22
+ @cancel="show1 = false"
23
+ />
24
+ <button @click="show1 = true">基础图片裁剪</button>
25
+ ```
26
+
27
+ ::: ifdef M83
28
+
29
+ ```js
30
+ export default {
31
+ name: 'Imagescale',
32
+ data() {
33
+ return {
34
+ show1: false,
35
+ url1: '',
36
+ imageUrl1: '/static/logo.jpg'
37
+ };
38
+ }
39
+ };
40
+ ```
41
+
42
+ ::: endif
43
+ ::: ifdef M84
44
+
45
+ ```js
46
+ import { ref } from 'vue';
47
+ // 使用 ref 创建响应式数据
48
+ const show1 = ref(false);
49
+ const url1 = ref('');
50
+ const imageUrl1 = ref('/static/logo.jpg');
51
+ ```
52
+
53
+ ::: endif
54
+
55
+ #### 带功能图片裁剪
56
+
57
+ ```html
58
+ <image :src="url2" v-if="url2" mode="widthFix"></image>
59
+ <em-image-scale
60
+ v-if="show2"
61
+ :isLockWidth="isLockWidth"
62
+ :isLockHeight="isLockHeight"
63
+ :isLockRatio="isLockRatio"
64
+ :isLimitMove="isLimitMove"
65
+ :isDisableScale="isDisableScale"
66
+ :isDisableRotate="isDisableRotate"
67
+ :isShowCancelBtn="isShowCancelBtn"
68
+ :isShowPhotoBtn="isShowPhotoBtn"
69
+ :isShowRotateBtn="isShowRotateBtn"
70
+ :isShowConfirmBtn="isShowConfirmBtn"
71
+ :image-url="imageUrl2"
72
+ @success="
73
+ url2 = $event.url;
74
+ show2 = false;
75
+ "
76
+ @cancel="show2 = false"
77
+ >
78
+ <!-- 四个基本按钮插槽 -->
79
+ <template #cancel>
80
+ <em-button>取消</em-button>
81
+ </template>
82
+ <template #photo>
83
+ <em-button>选择图片</em-button>
84
+ </template>
85
+ <template #rotate>
86
+ <em-button>旋转</em-button>
87
+ </template>
88
+ <template #confirm>
89
+ <em-button>确定</em-button>
90
+ </template>
91
+ <!-- 默认插槽 -->
92
+ <em-row class="tools">
93
+ <em-col span="12">
94
+ 显示取消按钮
95
+ <em-switch v-model="isShowCancelBtn" @change="(value) => isShowCancelBtn = value" />
96
+ </em-col>
97
+ <em-col span="12">
98
+ 显示选择图片按钮
99
+ <em-switch v-model="isShowPhotoBtn" @change="(value) => isShowPhotoBtn = value" />
100
+ </em-col>
101
+ <em-col span="12">
102
+ 显示旋转按钮
103
+ <em-switch v-model="isShowRotateBtn" @change="(value) => isShowRotateBtn = value" />
104
+ </em-col>
105
+ <em-col span="12">
106
+ 显示确定按钮
107
+ <em-switch v-model="isShowConfirmBtn" @change="(value) => isShowConfirmBtn = value" />
108
+ </em-col>
109
+ <em-col span="12">
110
+ 锁定裁剪框宽度
111
+ <em-switch v-model="isLockWidth" @change="(value) => isLockWidth = value" />
112
+ </em-col>
113
+ <em-col span="12">
114
+ 锁定裁剪框高度
115
+ <em-switch v-model="isLockHeight" @change="(value) => isLockHeight = value" />
116
+ </em-col>
117
+ <em-col span="12">
118
+ 锁定裁剪框比例
119
+ <em-switch v-model="isLockRatio" @change="(value) => isLockRatio = value" />
120
+ </em-col>
121
+ <em-col span="12">
122
+ 限制移动范围
123
+ <em-switch v-model="isLimitMove" @change="(value) => isLimitMove = value" />
124
+ </em-col>
125
+ <em-col span="12">
126
+ 禁止缩放
127
+ <em-switch v-model="isDisableScale" @change="(value) => isDisableScale = value" />
128
+ </em-col>
129
+ <em-col span="12">
130
+ 禁止旋转
131
+ <em-switch v-model="isDisableRotate" @change="(value) => isDisableRotate = value" />
132
+ </em-col>
133
+ </em-row>
134
+ </em-image-scale>
135
+ <button @click="show2 = true">带功能图片裁剪</button>
136
+ ```
137
+ ::: ifdef M83
138
+ ```js
139
+ export default {
140
+ name: 'Imagescale',
141
+ data() {
142
+ return {
143
+ show2: false,
144
+ url2: '',
145
+ imageUrl2: '/static/logo.jpg',
146
+ isLockWidth: false,
147
+ isLockHeight: false,
148
+ isLockRatio: true,
149
+ isLimitMove: false,
150
+ isDisableScale: false,
151
+ isDisableRotate: false,
152
+ isShowCancelBtn: true,
153
+ isShowPhotoBtn: true,
154
+ isShowRotateBtn: true,
155
+ isShowConfirmBtn: true
156
+ };
157
+ }
158
+ };
159
+ ```
160
+ ::: endif
161
+ ::: ifdef M84
162
+ ```js
163
+ import { ref } from 'vue';
164
+ // 使用 ref 创建响应式数据
165
+ const show2 = ref(false);
166
+ const url2 = ref('');
167
+ const imageUrl2 = ref('/static/logo.jpg');
168
+ const isLockWidth = ref(false);
169
+ const isLockHeight = ref(false);
170
+ const isLockRatio = ref(true);
171
+ const isLimitMove = ref(false);
172
+ const isDisableScale = ref(false);
173
+ const isDisableRotate = ref(false);
174
+ const isShowCancelBtn = ref(true);
175
+ const isShowPhotoBtn = ref(true);
176
+ const isShowRotateBtn = ref(true);
177
+ const isShowConfirmBtn = ref(true);
178
+ ```
179
+ ::: endif
180
+
181
+ ### API
182
+
183
+ #### Props
184
+
185
+ | 参数 | 说明 | 类型 | 默认值 |
186
+ | :------------------ | :------------------------------------------------------------: | :------ | :------ | --- |
187
+ | image-url | 图片路径 | | string | - |
188
+ | quality | 图片的质量,取值范围为 `[0, 1]`,不在范围内时当作 `1 `处理 | number | `1` |
189
+ | source | `{album: '从相册中选择'}` key 为图片来源类型,value 为选项说明 | Object | - |
190
+ | width | 裁剪框高度,默认单位为`px` | number | `400` |
191
+ | height | 裁剪框宽度 | number | `400` |
192
+ | min-width | 裁剪框最小高度 | number | `200` |
193
+ | min-height | 裁剪框最小高度 | number | `200` |
194
+ | max-width | 裁剪框最大宽度 | number | `600` |
195
+ | max-height | 裁剪框最大高度 | number | `600` |
196
+ | min-ratio | 图片最小缩放比 | number | `0.5` |
197
+ | max-ratio | 图片最大缩放比 | number | `2` |
198
+ | rotate-angle | 旋转按钮每次旋转的角度 | number | `90` |
199
+ | scale-ratio | 生成图片相对于裁剪框的比例, 比例越高生成图片越清晰 | number | `1` |
200
+ | is-lock-width | 是否锁定裁剪框宽度 | boolean | `false` |
201
+ | is-lock-height | 是否锁定裁剪框高度上 | boolean | `false` |
202
+ | is-lock-ratio | 是否锁定裁剪框比例 | boolean | `true` |
203
+ | is-disable-scale | 是否禁止缩放 | boolean | `false` |
204
+ | is-disable-rotate | 是否禁止旋转 | boolean | `false` |
205
+ | is-limit-move | 是否限制移动范围 | boolean | `false` |
206
+ | is-show-photo-btn | 是否显示选择图片按钮 | boolean | `true` |
207
+ | is-show-rotate-btn | 是否显示转按钮 | boolean | `true` |
208
+ | is-show-confirm-btn | 是否显示确定按钮 | boolean | `true` |
209
+ | is-show-cancel-btn | 是否显示关闭按钮 | boolean | `true` |
210
+
211
+ #### Events
212
+
213
+ | 事件名 | 说明 | 回调参数 |
214
+ | :------ | :----------------: | :------------------------------------------ |
215
+ | success | 生成图片成功 | ` {width, height, url}` |
216
+ | fail | 生成图片失败 | - |
217
+ | cancel | 关闭 | - |
218
+ | ready | 图片加载完成 | ` {width, height, path, orientation, type}` |
219
+ | change | 图片大小改变时触发 | `{width, height}` |
220
+ | rotate | 图片旋转时触发 | - |
221
+
222
+ #### Slots
223
+
224
+ | 名称 | 说明 |
225
+ | :------ | :------------------------------------- |
226
+ | default | 默认插槽,用于按钮栏底部插入自定义内容 |
227
+ | cancel | 用于自定义取消按钮 |
228
+ | photo | 用于自定义选择图片按钮 |
229
+ | rotate | 用于自定义旋转按钮 |
230
+ | confirm | 用于自定义确定按钮 |
231
+
232
+ ::: ifdef M83
233
+ <iframe
234
+ src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-image-scale"
235
+ frameborder=0
236
+ allowfullscreen class="ui-showcase-iframe">
237
+ </iframe>
238
+ ::: endif
239
+ ::: ifdef M84
240
+ <iframe
241
+ src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-image-scale"
242
+ frameborder=0
243
+ allowfullscreen class="ui-showcase-iframe">
244
+ </iframe>
245
+ ::: endif
246
+
247
+ <style>
248
+ .ui-showcase-iframe {
249
+ position: fixed;
250
+ right: 3.5vw;
251
+ top: 17%;
252
+ width: 375px;
253
+ height: 75vh;
254
+ box-shadow: 0 0 12px 6px #eee;
255
+ border-radius: 15px;
256
+ }
257
+ .main .markdown-body {
258
+ padding: 45px;
259
+ width: calc(97vw - 661px);
260
+ }
261
+ </style>
@@ -0,0 +1,161 @@
1
+ # 组件使用
2
+
3
+ ## Dragsort 拖拽排序
4
+
5
+ ### 介绍
6
+
7
+ - 拖拽排序组件。该组件自`v8.3.6`版本开始支持。
8
+
9
+ ### 代码演示
10
+
11
+ #### 基础用法
12
+
13
+ 默认长按进行拖拽,默认为纵向排序
14
+
15
+ ```html
16
+ <em-dragsort v-model="list">
17
+ <em-dragsort-item v-for="(item, index) in list" :key="index">
18
+ <em-cell :title="'item ' + item"></em-cell>
19
+ </em-dragsort-item>
20
+ </em-dragsort>
21
+ ```
22
+
23
+ ::: ifdef M83
24
+
25
+ ```js
26
+ export default {
27
+ data() {
28
+ return {
29
+ list: [1, 2, 3, 4]
30
+ };
31
+ }
32
+ };
33
+ ```
34
+
35
+ ::: endif
36
+ ::: ifdef M84
37
+
38
+ ```js
39
+ import { ref } from 'vue';
40
+ // 使用 ref 创建响应式数据
41
+ const list = ref([1, 2, 3, 4]);
42
+ ```
43
+
44
+ ::: endif
45
+
46
+ #### 横向排序
47
+
48
+ 也可通过`direction`属性设置横向排序。
49
+
50
+ ```html
51
+ <em-dragsort v-model="list" direction="horizontal">
52
+ <em-dragsort-item v-for="(item, index) in list" :key="index">
53
+ <em-tag basic-type="person">item {{ item }}</em-tag>
54
+ </em-dragsort-item>
55
+ </em-dragsort>
56
+ ```
57
+
58
+ ::: ifdef M83
59
+
60
+ ```js
61
+ export default {
62
+ data() {
63
+ return {
64
+ list: [1, 2, 3, 4]
65
+ };
66
+ }
67
+ };
68
+ ```
69
+
70
+ ::: endif
71
+ ::: ifdef M84
72
+
73
+ ```js
74
+ import { ref } from 'vue';
75
+ // 使用 ref 创建响应式数据
76
+ const list = ref([1, 2, 3, 4]);
77
+ ```
78
+
79
+ ::: endif
80
+
81
+ #### grid 排序
82
+
83
+ ```html
84
+ <em-grid :gutter="10">
85
+ <em-dragsort v-model="gridlist" direction="auto">
86
+ <em-dragsort-item v-for="(item, index) in gridlist" :key="index">
87
+ <em-grid-item icon="photo-o" :text="'item ' + item" />
88
+ </em-dragsort-item>
89
+ </em-dragsort>
90
+ </em-grid>
91
+ ```
92
+
93
+ ::: ifdef M83
94
+
95
+ ```js
96
+ export default {
97
+ data() {
98
+ return {
99
+ gridlist: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
100
+ };
101
+ }
102
+ };
103
+ ```
104
+
105
+ ::: endif
106
+ ::: ifdef M84
107
+
108
+ ```js
109
+ import { ref } from 'vue';
110
+ // 使用 ref 创建响应式数据
111
+ const gridlist = ref([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]);
112
+ ```
113
+
114
+ ::: endif
115
+
116
+ ### API
117
+
118
+ #### Props
119
+
120
+ | 参数 | 说明 | 类型 | 默认值 |
121
+ | :--------------------------------------------------------------------------- | :----------------------------------: | :----- | :--------- |
122
+ | v-model ::: ifdef M83 (value) ::: endif ::: ifdef M84 (modelValue) ::: endif | 需要拖拽排序的列表数据 | array | `-` |
123
+ | direction | 拖拽方向,可选值 `horizontal` `auto` | string | `vertical` |
124
+ | activeItemClass | 激活的元素添加自定义类名 | string | `-` |
125
+
126
+ #### Events
127
+
128
+ | 事件名 | 说明 | 回调参数 |
129
+ | :----- | :------------: | :----------------- |
130
+ | end | 排序结束时触发 | list: 排序后的数组 |
131
+
132
+ ::: ifdef M83
133
+ <iframe
134
+ src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-dragsort"
135
+ frameborder=0
136
+ allowfullscreen class="ui-showcase-iframe">
137
+ </iframe>
138
+ ::: endif
139
+ ::: ifdef M84
140
+ <iframe
141
+ src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-dragsort"
142
+ frameborder=0
143
+ allowfullscreen class="ui-showcase-iframe">
144
+ </iframe>
145
+ ::: endif
146
+
147
+ <style>
148
+ .ui-showcase-iframe {
149
+ position: fixed;
150
+ right: 3.5vw;
151
+ top: 17%;
152
+ width: 375px;
153
+ height: 75vh;
154
+ box-shadow: 0 0 12px 6px #eee;
155
+ border-radius: 15px;
156
+ }
157
+ .main .markdown-body {
158
+ padding: 45px;
159
+ width: calc(97vw - 661px);
160
+ }
161
+ </style>