这篇文章主要讲解了“elementui中如何使用el-tabs切换实时更新数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“elementui中如何使用el-tabs切换实时更新数据”吧!
项目中使用el-tabs 发现会一次性把所有 tab 里的请求读完,之后进行 tab 切换,不再重新读取请求
想要实现切换 tab 能实时更新数据的要求
<el-tabs type="border-card" class="root" v-model="activeName" @tab-click="handleTabClick"> <el-tab-pane label="menu" name="menu"> <menu-perm :menus="menus" v-if="tabRefresh.menu" /> </el-tab-pane> <el-tab-pane label="perm" name="perm"> <api-perm :permissions="permissions" v-if="tabRefresh.perm" /> </el-tab-pane> <el-tab-pane label="data" name="data"> <span v-if="tabRefresh.data">数据授权</span> </el-tab-pane> </el-tabs>
js 部分
export default { data () { return { activeName: 'menu', tabRefresh: { menu: true, perm: false, data: false } } }, methods: { handleTabClick (tab) { this.activeName = tab.name switch (this.activeName) { case 'menu': this.switchTab('menu') break case 'perm': this.switchTab('perm') break case 'data': this.switchTab('data') break } }, switchTab (tab) { for (let key in this.tabRefresh) { if (key === tab) { this.tabRefresh[key] = true } else { this.tabRefresh[key] = false } } }, } }
通过 v-if 进行选择性渲染,切换 tab 后,将其重新激活,并重新请求后端数据
el-tabs具有属性before-leave
<template> <el-tabs v-model="activeName" :before-leave="leaveTab"> <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> data(){ return{ activeName:"first" } } methods:{ leaveTab(){ let a = confirm('有未保存的更改, 确认离开?') if (a) { console.log('确认') return true } else { console.log('取消') return false } } } </script>
:before-leave是属性,需要绑定一个值。这个值是通过leaveTab传递的
感谢各位的阅读,以上就是“elementui中如何使用el-tabs切换实时更新数据”的内容了,经过本文的学习后,相信大家对elementui中如何使用el-tabs切换实时更新数据这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。