调用的组件数据未更新问题

63 阅读1分钟

问题描述:

调用的组件展示的数据未更新,第二次调用组件拿到的是第一次调用组件的数据,说明第二次调用组件时组件内部未进行更新,没有请求第二次调用的相关数据。

解决方法:

方法1:

在组件内部监听传入组件的值,当值发生改动时,查询第二次传入的值,更新组件的状态(常用)

官方地址:v2.cn.vuejs.org/v2/api/#wat…

 watch: {
    "id"(需要监听的值): function (val, oldVal) {
     if(val){
       //执行val改变后的操作/更新
     }
    },
   }
方法2:

调用完组件后直接销毁表单内里的子元素(组件),每次调用相当于都是第一次调用,无需监听

destroyOnClose关闭时销毁 Modal 里的子元素
 <a-modal 
 destroy-on-close 
 title="储罐信息" 
 @cancel="modalCancel" 
 :footer="false" 
 width="80%"
 v-model:visible="infoModal">
       <TankInfo :id="nodeId"></TankInfo>
  </a-modal>