很多情况下用element ui的<el-tabs时如果el-tab-pane内的数据改变了你会发现视图上并没有渲染过来,有一个小的解决方法。
如下面代码:
<template> <el-tabs v-model="activeName" type="card" @tab-click="handleClick"> <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane> <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane> <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane> <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane> </el-tabs></template><script> export default { data() { return { activeName: 'first' }; }, methods: { handleClick(tab, event) { console.log(tab, event); } } };</script>
这里可以看到activeName是用来控制哪一个el-tab-pane显示的,如果数据没有渲染你会发现把el-tab-pane切换一下就有数据就渲染过来了了,所以如果你发现数据变了没有渲染出来时,你把this.activeName的值改变一下再改回来就可以了,比如上面的activeName值是'first',当你动态改变了某一个el-tab-pane内的数据后执行一下下面的代码:
this.activeName='' this.activeName='first'
这样,值就过来了。。