本文介绍: 在 Vue 中,每个组件都有一个唯一key 属性。当组件key 属性发生改变时,Vue 会视为这是一个新的组件,而不是复用之前的组件。这样就会触发组件的重新渲染,从而实现页面刷新问题背景:侧导航页面都是子组件,建模页面的画布无法显示解决思路点击建模菜单时再次加载对应组件。

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


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


解决前:
在这里插入图片描述
解决后:

在这里插入图片描述


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

在 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>

原文地址:https://blog.csdn.net/qq_44754635/article/details/134713523

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_40778.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注