由于业务需求,需要在一个页面切换多个表格,为防止在切换表格时导致表格重新渲染我们使用v-if来切换。但由于表格较多切换时容易导致页面出现紊乱现象所以我使用Math.random()给它们绑定一个随机key,页面切换没有问题;
但是,在测试时发现el-table中的@selection-change方法失效,原因就是当使用:key="Math.random()"时,每次渲染el-table组件时,key值都会发生变化。这会导致每次渲染都会重新创建组件实例,导致@selection-change方法失效;
解决方法:把key值改为固定值就可以解决了。