File tree 3 files changed +48
-2
lines changed
3 files changed +48
-2
lines changed Original file line number Diff line number Diff line change
1
+ <!--
2
+ * @Author : wuchenguang1998
3
+ * @Date : 2024-05-13 22:34 :03
4
+ * @LastEditors : wuchenguang1998
5
+ * @LastEditTime : 2024-05-13 23:40 :48
6
+ * @Description : 隐藏或显示元素
7
+ -->
8
+
9
+ <template>
10
+ <Tooltip :content="$t('quick.hide')" v-if="mixinState.mSelectMode === 'one'">
11
+ <Button v-if="isHide" @click="doHide(false)" icon="md-eye-off" type="text"></Button>
12
+ <Button v-else @click="doHide(true)" icon="md-eye" type="text"></Button>
13
+ </Tooltip>
14
+ </template>
15
+
16
+ <script setup name="Hide">
17
+ import useSelect from '@/hooks/select';
18
+ import { onBeforeUnmount, onMounted } from 'vue';
19
+
20
+ const { mixinState, canvasEditor } = useSelect();
21
+ const isHide = ref(false);
22
+
23
+ const doHide = (hide) => {
24
+ // 修改visible属性
25
+ const activeObject = canvasEditor.canvas.getActiveObject();
26
+ activeObject.set('visible', !hide);
27
+ canvasEditor.canvas.requestRenderAll();
28
+ isHide.value = hide;
29
+ };
30
+
31
+ const handleSelected = () => {
32
+ const activeObject = canvasEditor.canvas.getActiveObject();
33
+ isHide.value = !activeObject.visible;
34
+ };
35
+
36
+ onMounted(() => {
37
+ canvasEditor.on('selectOne', handleSelected);
38
+ });
39
+
40
+ onBeforeUnmount(() => {
41
+ canvasEditor.off('selectOne', handleSelected);
42
+ });
43
+ </script>
Original file line number Diff line number Diff line change 105
105
"quick" : {
106
106
"del" : " 删除" ,
107
107
"copy" : " 复制" ,
108
- "lock" : " 锁定"
108
+ "lock" : " 锁定" ,
109
+ "hide" : " 隐藏"
109
110
},
110
111
"flip" : {
111
112
"x" : " 水平翻转" ,
214
215
"myMaterial" : {
215
216
"uploadBtn" : " 上传素材"
216
217
}
217
- }
218
+ }
Original file line number Diff line number Diff line change 118
118
<imgStroke />
119
119
<div class =" attr-item" >
120
120
<lock ></lock >
121
+ <hide ></hide >
121
122
<dele ></dele >
122
123
<clone ></clone >
123
124
</div >
@@ -159,6 +160,7 @@ import group from '@/components/group.vue';
159
160
import zoom from ' @/components/zoom.vue' ;
160
161
import dragMode from ' @/components/dragMode.vue' ;
161
162
import lock from ' @/components/lock.vue' ;
163
+ import hide from ' @/components/hide.vue' ;
162
164
import dele from ' @/components/del.vue' ;
163
165
import waterMark from ' @/components/waterMark.vue' ;
164
166
import login from ' @/components/login' ;
You can’t perform that action at this time.
0 commit comments