瀏覽代碼

Merge remote-tracking branch 'origin/master-fetch-dev' into master-fetch

奔跑的面条 3 年之前
父節點
當前提交
70ee06d622

+ 2 - 0
src/hooks/useLifeHandler.hook.ts

@@ -9,6 +9,8 @@ export const npmPkgs = { echarts }
 
 // 组件事件处理 hook
 export const useLifeHandler = (chartConfig: CreateComponentType | CreateComponentGroupType) => {
+  if (!chartConfig.events) return {}
+
   // 处理基础事件
   const baseEvent: { [key: string]: any } = {}
   for (const key in chartConfig.events.baseEvent) {

+ 4 - 2
src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventAdvancedHandle/index.vue

@@ -18,7 +18,9 @@
           <br />
           <span class="func-keyword">async {{ eventName }}</span> (e, components, echarts, node_modules) {
         </p>
-        <p class="go-ml-4"><n-code :code="(targetData.events.advancedEvents || {})[eventName]" language="typescript"></n-code></p>
+        <p class="go-ml-4">
+          <n-code :code="(targetData.events.advancedEvents || {})[eventName] || ''" language="typescript"></n-code>
+        </p>
         <p>}<span>,</span></p>
       </div>
     </n-card>
@@ -227,7 +229,7 @@ const saveEvents = () => {
     // 清空事件
     targetData.value.events.advancedEvents = {
       vnodeBeforeMount: undefined,
-      vnodeMounted: undefined,
+      vnodeMounted: undefined
     }
   } else {
     targetData.value.events.advancedEvents = { ...advancedEvents.value }

+ 1 - 1
src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventBaseHandle/index.vue

@@ -19,7 +19,7 @@
           <span class="func-keyword">async {{ eventName }}</span> (mouseEvent) {
         </p>
         <p class="go-ml-4">
-          <n-code :code="(targetData.events.baseEvent || {})[eventName]" language="typescript"></n-code>
+          <n-code :code="(targetData.events.baseEvent || {})[eventName] || ''" language="typescript"></n-code>
         </p>
         <p>}<span>,</span></p>
       </div>

+ 13 - 2
src/views/chart/hooks/useSync.hook.ts

@@ -15,7 +15,7 @@ import { ResultEnum } from '@/enums/httpEnum'
 import { saveProjectApi, fetchProjectApi, uploadFile, updateProjectApi } from '@/api/path'
 // 画布枚举
 import { SyncEnum } from '@/enums/editPageEnum'
-import { CreateComponentType, CreateComponentGroupType, ConfigType } from '@/packages/index.d'
+import { BaseEvent, EventLife, CreateComponentType, CreateComponentGroupType, ConfigType } from '@/packages/index.d'
 import { PublicGroupConfigClass } from '@/packages/public/publicConfig'
 import merge from 'lodash/merge'
 
@@ -47,7 +47,18 @@ const componentVersionUpdatePolyfill = (newObject: any, sources: any) => {
         newObject.events.advancedEvents.vnodeMounted = sources?.events.vnodeMounted
       }
       if (hasVnodeBeforeMount || hasVnodeMounted) {
-        sources.events = undefined
+        sources.events = {
+          baseEvent: {
+            [BaseEvent.ON_CLICK]: undefined,
+            [BaseEvent.ON_DBL_CLICK]: undefined,
+            [BaseEvent.ON_MOUSE_ENTER]: undefined,
+            [BaseEvent.ON_MOUSE_LEAVE]: undefined
+          },
+          advancedEvents: {
+            [EventLife.VNODE_MOUNTED]: undefined,
+            [EventLife.VNODE_BEFORE_MOUNT]: undefined
+          }
+        }
       }
       return newObject
     }