Переглянути джерело

修复查询窗口,动态组件第一次加载不显示的问题。

yangzhijie 4 роки тому
батько
коміт
9407fbc55a
2 змінених файлів з 5 додано та 2 видалено
  1. 1 1
      package.json
  2. 4 1
      packages/info/src/InfoWindow.vue

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "pc-component-v3",
-  "version": "1.0.23",
+  "version": "1.0.24",
   "description": "",
   "main": "dist/pc-component-v3.js",
   "scripts": {

+ 4 - 1
packages/info/src/InfoWindow.vue

@@ -1,7 +1,8 @@
 <template>
   <div>
     <component
-      :is="componentName" ref="infoComponent" :field-value="fieldValue" :info-window="infoWindowDto"
+      :is="componentName"
+      :key="componentName + '-' + componentLoadedCount" ref="infoComponent" :field-value="fieldValue" :info-window="infoWindowDto"
       :where-clause-source="whereClauseSource" :is-search-widget="isSearchWidget" :parent-model-data="parentModelData"
       :model-data="modelData" :multiple="multiple" @data-selected="dataSelected" @delete-selected="deleteSelected"
     />
@@ -73,6 +74,7 @@ export default {
       'componentName': '',
       loading: false,
       moduleDtos: [],
+      componentLoadedCount: 1, // 异步组件加载成功的数量
     };
   },
 
@@ -167,6 +169,7 @@ export default {
             Notify.error('查询窗口自定义组件定义错误', errorMessage, false);
           }
           window.app.component(componentName, remoteComponent.default);
+          _self.componentLoadedCount ++;
         }, errorData => {
           console.error(errorData);
         });