溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

elementui中如何使用el-tabs切換實時更新數(shù)據(jù)

發(fā)布時間:2022-08-04 11:06:51 來源:億速云 閱讀:2490 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“elementui中如何使用el-tabs切換實時更新數(shù)據(jù)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“elementui中如何使用el-tabs切換實時更新數(shù)據(jù)”吧!

使用el-tabs切換實時更新數(shù)據(jù)

項目中使用el-tabs 發(fā)現(xiàn)會一次性把所有 tab 里的請求讀完,之后進(jìn)行 tab 切換,不再重新讀取請求

想要實現(xiàn)切換 tab 能實時更新數(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 后,將其重新激活,并重新請求后端數(shù)據(jù) 

el-tabs切換確認(rèn)

實現(xiàn)效果

elementui中如何使用el-tabs切換實時更新數(shù)據(jù)

相關(guān)知識

el-tabs具有屬性before-leave

elementui中如何使用el-tabs切換實時更新數(shù)據(jù)

解決代碼

<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="定時任務(wù)補償" name="fourth">定時任務(wù)補償</el-tab-pane>
    </el-tabs>
</template>
<script>
data(){
    return{
        activeName:"first"
    }
}
methods:{
    leaveTab(){
        let a = confirm('有未保存的更改, 確認(rèn)離開?')
      if (a) {
        console.log('確認(rèn)')
        return true
      } else {
        console.log('取消')
        return false
      }
    }
}
</script>

解釋

:before-leave是屬性,需要綁定一個值。這個值是通過leaveTab傳遞的

感謝各位的閱讀,以上就是“elementui中如何使用el-tabs切換實時更新數(shù)據(jù)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對elementui中如何使用el-tabs切換實時更新數(shù)據(jù)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI