最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3 Element Plus el-tabs數(shù)據(jù)刷新實(shí)現(xiàn)方式

 更新時(shí)間:2025年07月30日 09:13:04   作者:滿  
這篇文章主要介紹了Vue3 Element Plus el-tabs數(shù)據(jù)刷新實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

方法1: 使用@tab-change事件

<template>
  <el-tabs v-model="activeTab" @tab-change="handleTabChange">
    <el-tab-pane label="Tab 1" name="tab1">
      <div v-if="activeTab === 'tab1'">
        <!-- 內(nèi)容1 -->
        {{ tab1Data }}
      </div>
    </el-tab-pane>
    <el-tab-pane label="Tab 2" name="tab2">
      <div v-if="activeTab === 'tab2'">
        <!-- 內(nèi)容2 -->
        {{ tab2Data }}
      </div>
    </el-tab-pane>
  </el-tabs>
</template>

<script setup>
import { ref } from 'vue';

const activeTab = ref('tab1');
const tab1Data = ref(null);
const tab2Data = ref(null);

const handleTabChange = (tabName) => {
  if (tabName === 'tab1') {
    fetchTab1Data();
  } else if (tabName === 'tab2') {
    fetchTab2Data();
  }
};

const fetchTab1Data = async () => {
  // 模擬API請求
  tab1Data.value = await new Promise(resolve => {
    setTimeout(() => resolve('Tab 1 數(shù)據(jù)已刷新'), 500);
  });
};

const fetchTab2Data = async () => {
  // 模擬API請求
  tab2Data.value = await new Promise(resolve => {
    setTimeout(() => resolve('Tab 2 數(shù)據(jù)已刷新'), 500);
  });
};

// 初始化加載第一個(gè)tab的數(shù)據(jù)
fetchTab1Data();
</script>

方法2: 使用v-if控制內(nèi)容渲染

<template>
  <el-tabs v-model="activeTab">
    <el-tab-pane label="Tab 1" name="tab1">
      <Tab1Content v-if="activeTab === 'tab1'" />
    </el-tab-pane>
    <el-tab-pane label="Tab 2" name="tab2">
      <Tab2Content v-if="activeTab === 'tab2'" />
    </el-tab-pane>
  </el-tabs>
</template>

<script setup>
import { ref } from 'vue';
import Tab1Content from './Tab1Content.vue';
import Tab2Content from './Tab2Content.vue';

const activeTab = ref('tab1');
</script>

在子組件中使用 onMounted 鉤子加載數(shù)據(jù):

<!-- Tab1Content.vue -->
<script setup>
import { onMounted, ref } from 'vue';

const data = ref(null);

onMounted(async () => {
  // 加載數(shù)據(jù)
  data.value = await fetchData();
});
</script>

方法3: 使用keep-alive和activated鉤子

如果需要緩存組件但依然在切換時(shí)刷新數(shù)據(jù):

<template>
  <el-tabs v-model="activeTab">
    <el-tab-pane label="Tab 1" name="tab1">
      <keep-alive>
        <Tab1Content v-if="activeTab === 'tab1'" />
      </keep-alive>
    </el-tab-pane>
    <el-tab-pane label="Tab 2" name="tab2">
      <keep-alive>
        <Tab2Content v-if="activeTab === 'tab2'" />
      </keep-alive>
    </el-tab-pane>
  </el-tabs>
</template>

在子組件中使用 activated 鉤子:

<!-- Tab1Content.vue -->
<script setup>
import { ref, activated } from 'vue';

const data = ref(null);

const loadData = async () => {
  data.value = await fetchData();
};

// 組件激活時(shí)加載數(shù)據(jù)
activated(() => {
  loadData();
});

// 初始加載
loadData();
</script>

注意事項(xiàng)

  • 使用 v-if 會完全銷毀和重建組件,適合數(shù)據(jù)完全獨(dú)立的情況
  • keep-alive + activated 適合需要保留組件狀態(tài)但刷新數(shù)據(jù)的情況
  • 對于簡單場景,直接使用 @tab-change 事件即可

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue-socket.io跨域問題有效解決方法

    vue-socket.io跨域問題有效解決方法

    在本篇文章里小編給大家整理的是關(guān)于vue-socket.io跨域問題有效解決方法,對此有興趣的朋友們可以參考下。
    2020-02-02
  • 使用vue.js開發(fā)時(shí)一些注意事項(xiàng)

    使用vue.js開發(fā)時(shí)一些注意事項(xiàng)

    使用vue.js進(jìn)行項(xiàng)目的開發(fā)已經(jīng)有了一定的時(shí)間,在任務(wù)的過程中以及和不同的開發(fā)使用者交流中,逐漸對vue.js的使用心得有了一定的積累。本文主要給大家分享一些開發(fā)時(shí)需要注意的事項(xiàng)
    2016-04-04
  • Vuex中五個(gè)屬性以及使用方法詳解

    Vuex中五個(gè)屬性以及使用方法詳解

    這篇文章主要給大家介紹了關(guān)于Vuex中五個(gè)屬性以及使用的相關(guān)資料,Vuex是一個(gè)專為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • vue中手機(jī)號,郵箱正則驗(yàn)證以及60s發(fā)送驗(yàn)證碼的實(shí)例

    vue中手機(jī)號,郵箱正則驗(yàn)證以及60s發(fā)送驗(yàn)證碼的實(shí)例

    下面小編就為大家分享一篇vue中手機(jī)號,郵箱正則驗(yàn)證以及60s發(fā)送驗(yàn)證碼的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue中引用文件路徑問題小結(jié)

    vue中引用文件路徑問題小結(jié)

    vue路徑分為絕對路徑、相對路徑、~+路徑?及?別名+路徑,在js中,引入帶別名的文件路徑,不需要在別名前加~?,在css或者style中引入的需要在路徑前面加~,路徑以?~?開頭,其后的部分將會被看作模塊依賴,本文給大家介紹vue中引用文件路徑問題,感興趣的朋友一起看看吧
    2023-12-12
  • vue實(shí)現(xiàn)移動端input上傳視頻、音頻

    vue實(shí)現(xiàn)移動端input上傳視頻、音頻

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)移動端input上傳視頻、音頻,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • vue中對虛擬dom的理解知識點(diǎn)總結(jié)

    vue中對虛擬dom的理解知識點(diǎn)總結(jié)

    在本篇文章里小編給大家整理了一篇關(guān)于vue中對虛擬dom的理解知識點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-06-06
  • vue項(xiàng)目中封裝echarts的優(yōu)雅方式分享

    vue項(xiàng)目中封裝echarts的優(yōu)雅方式分享

    在實(shí)際項(xiàng)目開發(fā)中,我們會經(jīng)常與圖表打交道,比如?訂單數(shù)量表、商品銷量表、會員數(shù)量表等等,它可能是以折線圖、柱狀圖、餅狀圖等等的方式來展現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目中封裝echarts的優(yōu)雅方式的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 一文教你如何在Vue項(xiàng)目中使用Emoji表情

    一文教你如何在Vue項(xiàng)目中使用Emoji表情

    這篇文章主要為大家詳細(xì)介紹了在vue項(xiàng)目中如何使用emoji表情,包括font-awesome圖標(biāo),v-emoji-picker,vue-emoji等emoji表情庫,需要的可以參考下
    2025-03-03
  • Vue3.2?setup語法糖及Hook函數(shù)基本使用

    Vue3.2?setup語法糖及Hook函數(shù)基本使用

    這篇文章主要為大家介紹了Vue3.2?setup語法糖及Hook函數(shù)基本使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07

最新評論

兴安盟| 莱阳市| 阜平县| 磐石市| 登封市| 阜康市| 平山县| 山阳县| 法库县| 温州市| 永吉县| 北辰区| 驻马店市| 遂宁市| 本溪| 涪陵区| 广昌县| 于田县| 青龙| 开平市| 左权县| 体育| 永登县| 改则县| 广南县| 庆城县| 九龙坡区| 南平市| 云安县| 湘潭市| 井冈山市| 利辛县| 南汇区| 正定县| 水城县| 呼和浩特市| 远安县| 拉孜县| 盘锦市| 东港市| 山西省|