|
11 | 11 | </div>
|
12 | 12 | <el-scrollbar class="left-scrollbar">
|
13 | 13 | <div class="components-list">
|
14 |
| - <div class="components-title"> |
15 |
| - <svg-icon icon-class="component" />输入型组件 |
16 |
| - </div> |
17 |
| - <draggable |
18 |
| - class="components-draggable" |
19 |
| - :list="inputComponents" |
20 |
| - :group="{ name: 'componentsGroup', pull: 'clone', put: false }" |
21 |
| - :clone="cloneComponent" |
22 |
| - draggable=".components-item" |
23 |
| - :sort="false" |
24 |
| - @end="onEnd" |
25 |
| - > |
26 |
| - <div |
27 |
| - v-for="(element, index) in inputComponents" :key="index" class="components-item" |
28 |
| - @click="addComponent(element)" |
29 |
| - > |
30 |
| - <div class="components-body"> |
31 |
| - <svg-icon :icon-class="element.tagIcon" /> |
32 |
| - {{ element.label }} |
33 |
| - </div> |
| 14 | + <div v-for="(item, listIndex) in leftComponents" :key="listIndex"> |
| 15 | + <div class="components-title"> |
| 16 | + <svg-icon icon-class="component" /> |
| 17 | + {{ item.title }} |
34 | 18 | </div>
|
35 |
| - </draggable> |
36 |
| - <div class="components-title"> |
37 |
| - <svg-icon icon-class="component" />选择型组件 |
38 |
| - </div> |
39 |
| - <draggable |
40 |
| - class="components-draggable" |
41 |
| - :list="selectComponents" |
42 |
| - :group="{ name: 'componentsGroup', pull: 'clone', put: false }" |
43 |
| - :clone="cloneComponent" |
44 |
| - draggable=".components-item" |
45 |
| - :sort="false" |
46 |
| - @end="onEnd" |
47 |
| - > |
48 |
| - <div |
49 |
| - v-for="(element, index) in selectComponents" |
50 |
| - :key="index" |
51 |
| - class="components-item" |
52 |
| - @click="addComponent(element)" |
| 19 | + <draggable |
| 20 | + class="components-draggable" |
| 21 | + :list="item.list" |
| 22 | + :group="{ name: 'componentsGroup', pull: 'clone', put: false }" |
| 23 | + :clone="cloneComponent" |
| 24 | + draggable=".components-item" |
| 25 | + :sort="false" |
| 26 | + @end="onEnd" |
53 | 27 | >
|
54 |
| - <div class="components-body"> |
55 |
| - <svg-icon :icon-class="element.tagIcon" /> |
56 |
| - {{ element.label }} |
| 28 | + <div |
| 29 | + v-for="(element, index) in item.list" |
| 30 | + :key="index" |
| 31 | + class="components-item" |
| 32 | + @click="addComponent(element)" |
| 33 | + > |
| 34 | + <div class="components-body"> |
| 35 | + <svg-icon :icon-class="element.tagIcon" /> |
| 36 | + {{ element.label }} |
| 37 | + </div> |
57 | 38 | </div>
|
58 |
| - </div> |
59 |
| - </draggable> |
60 |
| - <div class="components-title"> |
61 |
| - <svg-icon icon-class="component" /> 布局型组件 |
| 39 | + </draggable> |
62 | 40 | </div>
|
63 |
| - <draggable |
64 |
| - class="components-draggable" :list="layoutComponents" |
65 |
| - :group="{ name: 'componentsGroup', pull: 'clone', put: false }" :clone="cloneComponent" |
66 |
| - draggable=".components-item" :sort="false" @end="onEnd" |
67 |
| - > |
68 |
| - <div |
69 |
| - v-for="(element, index) in layoutComponents" :key="index" class="components-item" |
70 |
| - @click="addComponent(element)" |
71 |
| - > |
72 |
| - <div class="components-body"> |
73 |
| - <svg-icon :icon-class="element.tagIcon" /> |
74 |
| - {{ element.label }} |
75 |
| - </div> |
76 |
| - </div> |
77 |
| - </draggable> |
78 | 41 | </div>
|
79 | 42 | </el-scrollbar>
|
80 | 43 | </div>
|
@@ -210,7 +173,21 @@ export default {
|
210 | 173 | showFileName: false,
|
211 | 174 | activeData: drawingDefalut[0],
|
212 | 175 | saveDrawingListDebounce: debounce(340, saveDrawingList),
|
213 |
| - saveIdGlobalDebounce: debounce(340, saveIdGlobal) |
| 176 | + saveIdGlobalDebounce: debounce(340, saveIdGlobal), |
| 177 | + leftComponents: [ |
| 178 | + { |
| 179 | + title: '输入型组件', |
| 180 | + list: inputComponents |
| 181 | + }, |
| 182 | + { |
| 183 | + title: '选择型组件', |
| 184 | + list: selectComponents |
| 185 | + }, |
| 186 | + { |
| 187 | + title: '布局型组件', |
| 188 | + list: layoutComponents |
| 189 | + } |
| 190 | + ] |
214 | 191 | }
|
215 | 192 | },
|
216 | 193 | computed: {
|
|
0 commit comments