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

el-table實(shí)現(xiàn)給每行添加loading效果案例

 更新時(shí)間:2024年08月06日 10:21:22   作者:碼農(nóng)桃子  
這篇文章主要介紹了el-table實(shí)現(xiàn)給每行添加loading效果案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

如圖所示,在el-table表格中,使用el-switch組件,想讓每個(gè)組件在開關(guān)的時(shí)候都有一個(gè)loading效果,也可以是el-button,原理都是類似,下面直接給方案。

這是一個(gè)失敗的效果

錯(cuò)誤分析

錯(cuò)誤代碼如下,可以看見,我給switchLoading應(yīng)用到每一個(gè)el-switch組件上了,所以每次都是全部組件loading,只要我們給它單獨(dú)出來就可以搞定。

<el-table-column prop="enable" label="是否啟用" width="80" align="center">
   <template #default="{ row }">
     <el-switch
       v-model="row.enable"
       active-text="正常"
       inactive-text="停用"
       inline-prompt
       :loading="switchLoading"
       style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
       @change="changeHandle(row)"
     />
   </template>
 </el-table-column>
 
//ts
const changeHandle = (row) => {
  switchLoading.value = true
  changeEnable(row.id)
    .then((resp) => {
      ElMessage.success('操作成功!')
    })
    .catch((error) => {
      console.log(error)
    })
    .finally(() => {
      switchLoading.value = false
    })
}

解決方法

方案一

讓每一個(gè)switch組件都有自己的loading,那直接在row的屬性上加一個(gè)loading屬性即可,這樣最方便,也不用我們聲明變量。

// template
<el-table-column prop="enable" label="是否啟用" width="80" align="center">
   <template #default="{ row }">
     <el-switch
       v-model="row.enable"
       active-text="正常"
       inactive-text="停用"
       inline-prompt
       :loading="row.loading" // 改動(dòng)位置
       style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
       @change="changeHandle(row)"
     />
   </template>
 </el-table-column>

//ts
const changeHandle = (row) => {
  row.loading = true // 改動(dòng)位置
  changeEnable(row.id)
    .then((resp) => {
      ElMessage.success('操作成功!')
    })
    .catch((error) => {
      console.log(error)
    })
    .finally(() => {
      row.loading = false // 改動(dòng)位置
    })
}

方案二

給loading屬性加一個(gè)判斷switchLoading == row.id,只有在id相等的時(shí)候才進(jìn)行l(wèi)oading效果,這樣需要我們聲明一個(gè)const switchLoading = ref('') 變量來存儲(chǔ)當(dāng)前的id,也可以解決!

// template
<el-table-column prop="enable" label="是否啟用" width="80" align="center">
  <template #default="{ row }">
    <el-switch
      v-model="row.enable"
      active-text="正常"
      inactive-text="停用"
      inline-prompt
      :loading="switchLoading == row.id"  // 改動(dòng)位置
      style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949"
      @change="changeHandle(row)"
    />
  </template>
</el-table-column>

// ts
const changeHandle = (row) => {
  switchLoading.value = row.id // 改動(dòng)位置
  changeEnable(row.id)
    .then((resp) => {
      ElMessage.success('操作成功!')
    })
    .catch((error) => {
      console.log(error)
    })
    .finally(() => {
      switchLoading.value = '' // 改動(dòng)位置
    })
}

最終效果

以上2種方案都可以解決,效果如下,你喜歡哪種解決方案呢?

我選擇第一種同理,在table中的按鈕、下拉搜索等,也是一樣的解決方法。

總結(jié)

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

相關(guān)文章

  • vue3生命周期函數(shù)使用及說明(掛載、更新、銷毀)

    vue3生命周期函數(shù)使用及說明(掛載、更新、銷毀)

    文章對(duì)比了Vue2和Vue3的生命周期函數(shù),指出Vue3在Vue2的基礎(chǔ)上增加了on前綴的生命周期,移除了了創(chuàng)建前后的生命周期鉤子,并引入了setup和onUnmount等等新特性,文章強(qiáng)調(diào)了在單頁面中生命函數(shù)可以多次使用,并提供了表格對(duì)比幫助理解
    2026-05-05
  • 淺談Vue3中key的作用和工作原理

    淺談Vue3中key的作用和工作原理

    本文主要介紹了Vue3中key的作用和工作原理,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Vue實(shí)現(xiàn)答題功能

    Vue實(shí)現(xiàn)答題功能

    最近接手做一個(gè)前端小項(xiàng)目,基于vue實(shí)現(xiàn)答題功能,具體功能有判斷用戶是否答對(duì),答對(duì)的話跳到下一題,答錯(cuò)的話彈窗告訴用戶有錯(cuò)題,請(qǐng)重新答題,功能非常人性化,對(duì)實(shí)現(xiàn)代碼感興趣的朋友一起看看吧
    2021-06-06
  • 一文了解vue-router之hash模式和history模式

    一文了解vue-router之hash模式和history模式

    這篇文章主要介紹了一文了解vue-router之hash模式和history模式,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • Vue數(shù)據(jù)雙向綁定的實(shí)現(xiàn)方式講解

    Vue數(shù)據(jù)雙向綁定的實(shí)現(xiàn)方式講解

    Vue數(shù)據(jù)雙向綁定原理:Vue內(nèi)部通過Object.defineProperty方法屬性攔截的方式,把data對(duì)象里每個(gè)數(shù)據(jù)的讀寫轉(zhuǎn)化成getter/setter,當(dāng)數(shù)據(jù)變化時(shí)通知視圖更新
    2022-08-08
  • vuejs簡(jiǎn)單驗(yàn)證碼功能完整示例

    vuejs簡(jiǎn)單驗(yàn)證碼功能完整示例

    這篇文章主要介紹了vuejs簡(jiǎn)單驗(yàn)證碼功能,結(jié)合完整實(shí)例形式分析了vue.js驗(yàn)證碼的生成、顯示、校驗(yàn)等相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • Vue自定義指令詳解

    Vue自定義指令詳解

    這篇文章主要為大家詳細(xì)介紹了Vue自定義指令的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • vue組件表單數(shù)據(jù)回顯驗(yàn)證及提交的實(shí)例代碼

    vue組件表單數(shù)據(jù)回顯驗(yàn)證及提交的實(shí)例代碼

    今天小編就為大家分享一篇vue組件表單數(shù)據(jù)回顯驗(yàn)證及提交的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue3 reactive 請(qǐng)求接口數(shù)據(jù)賦值后拿不到的問題及解決方案

    vue3 reactive 請(qǐng)求接口數(shù)據(jù)賦值后拿不到的問題及解決方案

    這篇文章主要介紹了vue3 reactive 請(qǐng)求接口數(shù)據(jù)賦值后拿不到的問題及解決方案,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • Vue3使用icon的兩種方式實(shí)例

    Vue3使用icon的兩種方式實(shí)例

    vue開發(fā)網(wǎng)站的時(shí)候,往往圖標(biāo)是起著很重要的作用,下面這篇文章主要給大家介紹了關(guān)于Vue3使用icon的兩種方式,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11

最新評(píng)論

威宁| 四川省| 临汾市| 佛冈县| 察哈| 苏尼特右旗| 绥江县| 定结县| 元江| 凤冈县| 蒙阴县| 濮阳市| 周口市| 沅陵县| 朝阳市| 宜川县| 砚山县| 泰宁县| 洛浦县| 得荣县| 无锡市| 山阳县| 墨脱县| 吴堡县| 义马市| 高陵县| 邢台县| 南康市| 大荔县| 郧西县| 资阳市| 股票| 平凉市| 衡阳县| 格尔木市| 独山县| 搜索| 平阴县| 茶陵县| 毕节市| 康马县|