踩坑日记-element el-Dialog组件只在首次加载时渲染页面

问题描述:

项目中使用到了element的el-Dialog组件,组件内嵌套了自定义组件,在动态传参时发现只有首次加载组件时会渲染页面

问题原因:

组件被缓存,create和mount生命周期只执行一次,所以数据发生变化也不会重新渲染页面

解决方法:

1. element组件查询官网文件后发现有一个destroy-on-colse属性,设置为true会在关闭时销毁 Dialog 中的元素

 

2.自定义组件中的key标识更改时会强制渲染页面,所以在自定义组件中增加key标识,在Dialog组件打开时+1

<el-dialog :destroy-on-colse="true">
    <div>
        <UseType :key="useTypeKey"/>
    </div>
</el-dialog>
<script>
 data(){
    return{
        useTypeKey:0
    }
}

activated(){
    this.useTypeKey +=1
}
</script>

问题解决

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值