(Ant X6)子组件里的流程图画布无法显示

(Ant X6)子组件里的流程图画布无法显示


问题背景:侧导航页面都是子组件,建模页面的画布无法显示


解决前:
(Ant X6)子组件里的流程图画布无法显示_第1张图片
解决后:

(Ant X6)子组件里的流程图画布无法显示_第2张图片


解决思路:点击建模菜单时再次加载对应组件

在 Vue 中,每个组件都有一个唯一的 key 属性。当组件的 key 属性发生改变时,Vue 会视为这是一个新的组件,而不是复用之前的组件。这样就会触发组件的重新渲染,从而实现页面的刷新。

<el-tabs v-model="activeName" type="border-card" tab-position="left">
   <el-tab-pane label="基础信息" name="first" :disabled="true" />
   ...
   <el-tab-pane label="..建模" name="seventh">
      <ProcessModeling ref="jianmo" :key="refreshKey" />
   </el-tab-pane>
   ...
</el-tabs>


<script>
...
import ProcessModeling from "./ProcessModeling"; //流程图组件
export default {
  name: "BasicInformation",
  components: { 
    ...
    ProcessModeling, 
  },
  data() {
    return {
      activeName: "second",//默认页面
      refreshKey: 0,//组件默认的key
    };
  },
  //监听点击菜单
  watch: {
    activeName: {
      deep: true,
      immediate: true,
      handler(val) {
        //重点
        if (val === "seventh") {
          this.refreshKey++;//组件的key改变会重新加载组件
        }
      },
    },
  },
  mounted() {},
  methods: {},
};
</script>

你可能感兴趣的:(图表,流程图,javascript,前端)