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

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

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

前言

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

這是一個失敗的效果

錯誤分析

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

<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
    })
}

解決方法

方案一

讓每一個switch組件都有自己的loading,那直接在row的屬性上加一個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" // 改動位置
       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 // 改動位置
  changeEnable(row.id)
    .then((resp) => {
      ElMessage.success('操作成功!')
    })
    .catch((error) => {
      console.log(error)
    })
    .finally(() => {
      row.loading = false // 改動位置
    })
}

方案二

給loading屬性加一個判斷switchLoading == row.id,只有在id相等的時候才進行l(wèi)oading效果,這樣需要我們聲明一個const switchLoading = ref('') 變量來存儲當前的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"  // 改動位置
      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 // 改動位置
  changeEnable(row.id)
    .then((resp) => {
      ElMessage.success('操作成功!')
    })
    .catch((error) => {
      console.log(error)
    })
    .finally(() => {
      switchLoading.value = '' // 改動位置
    })
}

最終效果

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

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    vuejs簡單驗證碼功能完整示例

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

    Vue自定義指令詳解

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

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

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

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

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

    Vue3使用icon的兩種方式實例

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

最新評論

理塘县| 临清市| 民和| 普定县| 贵定县| 香格里拉县| 即墨市| 虞城县| 布尔津县| 平定县| 安阳市| 英德市| 昌宁县| 文登市| 闸北区| 峡江县| 鹰潭市| 延川县| 桦川县| 安乡县| 临洮县| 昌黎县| 将乐县| 鄂伦春自治旗| 时尚| 博野县| 开阳县| 克东县| 朝阳县| 闵行区| 台江县| 江永县| 台中县| 库车县| 孟津县| 冀州市| 樟树市| 龙州县| 于田县| 海兴县| 长岭县|