日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

elementui中el-tabs切換實(shí)時(shí)更新數(shù)據(jù)

作者:前端開心果 更新時(shí)間: 2023-07-31 編程語言

項(xiàng)目中使用el-tabs 發(fā)現(xiàn)會(huì)一次性把所有 tab 里的請(qǐng)求讀完,之后進(jìn)行 tab 切換,不再重新讀取請(qǐng)求
想要實(shí)現(xiàn)切換 tab 能實(shí)時(shí)更新數(shù)據(jù)的要求

<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">數(shù)據(jù)授權(quán)</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 進(jìn)行選擇性渲染,切換 tab 后,將其重新激活,并重新請(qǐng)求后端數(shù)據(jù)

原文鏈接:https://blog.csdn.net/qq_38157825/article/details/114869811

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新