Quellcode durchsuchen

mod:去掉响应式

panqiuyao vor 6 Monaten
Ursprung
Commit
0aa225eb21

+ 4 - 4
frontend/src/views/components/PictureEditor/mixin/actions/index.js

@@ -232,14 +232,14 @@ export default  {
           'mtr':false,
         })
 
-        this.fcanvas.add(svg.set({
+        this.fcanvas.add(markRaw(svg.set({
           ...options,
           name:"svg",
           sort,
           id,
           erasable:erasable,
 
-        }))
+        })))
         svg.moveTo(sort)
         this.fcanvas.setActiveObject(svg)
         this.toSelect()
@@ -269,14 +269,14 @@ export default  {
       let erasable =  options.erasable ||  false
       let id = this.getNextLayersId()
       this.fcanvas.discardActiveObject()
-      this.fcanvas.add(textbox.set({
+      this.fcanvas.add(markRaw(textbox.set({
         ...options,
         name:"text",
         sort,
         id,
         erasable:erasable,
 
-      }))
+      })))
       textbox.moveTo(sort)
       this.fcanvas.setActiveObject(textbox)
       this.toSelect()

+ 7 - 1
frontend/src/views/components/PictureEditor/mixin/edit/index.js

@@ -3,6 +3,7 @@ import Teleport from '@/components/Teleport'
 
 import * as TextboxConfig from './module/TextboxConfig'
 import fabric from "../../js/fabric-adapter";
+import {markRaw} from "vue";
 
 export default  {
   components: {
@@ -171,6 +172,11 @@ export default  {
         params = {}
         params[label] = value
       }
+      if(!this.editLayer.fill || label !== 'fill'){
+        params = {
+          fill:'#000'
+        }
+      }
       this.editLayer[action](params)
       if(Array.isArray(this.editLayer._objects)){
         this.editLayer._objects?.map(item=>{
@@ -361,7 +367,7 @@ export default  {
       }
 
       // 添加到画布
-      this.fcanvas.add(strokeObj);
+      this.fcanvas.add(markRaw(strokeObj));
       this.clipStrokeObject = strokeObj;
       this.fcanvas.requestRenderAll();
     },

+ 2 - 3
frontend/src/views/components/PictureEditor/mixin/edit/module/textbox.js

@@ -103,17 +103,16 @@ const textbox = () => {
           ${tools.straw()}
           ${tools.opacity()}
 
-          <div class="title_two">新增/修改</div>
+ /*      <div class="title_two">新增/修改</div>
           <div>
             <el-input
             v-model="editLayer.text"
              type="textarea"
              :autosize="{ minRows: 2, maxRows: 8}"
              maxlength="255"
-             @input.native="(val)=> editObj({label:'text',value:val})"
             />
 
-          </div>
+          </div>*/
 
           <div class="title_two">描边</div>
           <div class="flex left">

+ 3 - 2
frontend/src/views/components/PictureEditor/mixin/layer/index.js

@@ -5,6 +5,7 @@ import UploadSlot from '@/components/Upload/indexSlot.vue'
 import ImageMattinDdialog from '@/views/components/ImageMatting/dialog'*/
 import { uploadBaseImg } from '@/apis/other'
 import fabric  from '@/views/components/PictureEditor/js/fabric-adapter'
+import {markRaw} from "vue";
 export default  {
   components: {
     UploadSlot,
@@ -212,9 +213,9 @@ export default  {
           'mtr':false,
         })
 
-        this.fcanvas.add(img.set({
+        this.fcanvas.add(markRaw(img.set({
           ...options,
-        }))
+        })))
         img.moveTo(options.sort)
         this.islayerSelect = true;
         this.fcanvas.setActiveObject(img)