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

Vue3列表移除元素后索引更新實現(xiàn)方法

 更新時間:2025年07月30日 09:10:05   作者:滿  
這篇文章主要介紹了Vue3列表移除元素后索引更新實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

方法1:使用 v-for 的 index 自動更新

Vue 會自動處理 v-for 中的索引,當你移除一個元素后,剩余元素的索引會自動更新:

<template>
  <div>
    <ul>
      <li v-for="(item, index) in items" :key="item.id">
        {{ item.name }} (Index: {{ index }})
        <button @click="removeItem(index)">Remove</button>
      </li>
    </ul>
  </div>
</template>

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

const items = ref([
  { id: 1, name: 'Item 1' },
  { id: 2, name: 'Item 2' },
  { id: 3, name: 'Item 3' },
]);

function removeItem(index) {
  items.value.splice(index, 1);
}
</script>

方法2:使用唯一標識而非索引作為 key

最佳實踐是使用唯一標識作為 key,而不是索引:

<template>
  <div>
    <ul>
      <li v-for="item in items" :key="item.id">
        {{ item.name }}
        <button @click="removeItem(item.id)">Remove</button>
      </li>
    </ul>
  </div>
</template>

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

const items = ref([
  { id: 1, name: 'Item 1' },
  { id: 2, name: 'Item 2' },
  { id: 3, name: 'Item 3' },
]);

function removeItem(id) {
  items.value = items.value.filter(item => item.id !== id);
}
</script>

方法3:計算屬性維護索引

如果需要存儲索引而不想它隨列表變化而改變,可以使用計算屬性:

<template>
  <div>
    <ul>
      <li v-for="(item, index) in itemsWithStableIndex" :key="item.id">
        {{ item.name }} (Original Index: {{ item.originalIndex }})
        <button @click="removeItem(index)">Remove</button>
      </li>
    </ul>
  </div>
</template>

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

const items = ref([
  { id: 1, name: 'Item 1' },
  { id: 2, name: 'Item 2' },
  { id: 3, name: 'Item 3' },
]);

const itemsWithStableIndex = computed(() => {
  return items.value.map((item, index) => ({
    ...item,
    originalIndex: index
  }));
});

function removeItem(index) {
  items.value.splice(index, 1);
}
</script>

注意事項

避免直接使用索引作為 key,這可能導致渲染問題

Vue 會自動更新 v-for 中的索引,所以通常不需要手動處理

如果需要在移除后執(zhí)行其他操作,可以使用 watch 或 watchEffect 監(jiān)聽列表變化

總結(jié)

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

相關(guān)文章

  • vue實現(xiàn)pc端拍照上傳功能

    vue實現(xiàn)pc端拍照上傳功能

    這篇文章主要為大家詳細介紹了vue實現(xiàn)pc端拍照上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 解決vue attr取不到屬性值的問題

    解決vue attr取不到屬性值的問題

    今天小編就為大家分享一篇解決vue attr取不到屬性值的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue+element+cookie記住密碼功能的簡單實現(xiàn)方法

    Vue+element+cookie記住密碼功能的簡單實現(xiàn)方法

    這篇文章主要給大家介紹了Vue+element+cookie記住密碼功能的簡單實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Vue 禁用瀏覽器的前進后退操作

    Vue 禁用瀏覽器的前進后退操作

    這篇文章主要介紹了Vue 禁用瀏覽器的前進后退操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • vue單向數(shù)據(jù)綁定和雙向數(shù)據(jù)綁定方式

    vue單向數(shù)據(jù)綁定和雙向數(shù)據(jù)綁定方式

    這篇文章主要介紹了vue單向數(shù)據(jù)綁定和雙向數(shù)據(jù)綁定方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 在IDEA中Debug調(diào)試VUE項目的詳細步驟

    在IDEA中Debug調(diào)試VUE項目的詳細步驟

    idea竟然有一個神功能很多朋友都不是特別清楚,下面小編給大家?guī)砹嗽贗DEA中Debug調(diào)試VUE項目的詳細步驟,感興趣的朋友一起看看吧
    2021-10-10
  • maptalks+three.js+vue webpack實現(xiàn)二維地圖上貼三維模型操作

    maptalks+three.js+vue webpack實現(xiàn)二維地圖上貼三維模型操作

    這篇文章主要介紹了maptalks+three.js+vue webpack實現(xiàn)二維地圖上貼三維模型操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue指令的學習

    Vue指令的學習

    這篇文章主要介紹了Vue指令,Vue官網(wǎng)一共有提供了14個指令,下面我們就來詳細講解每一個指令的詳細內(nèi)容,需要的朋友可以參考一下
    2021-10-10
  • 詳解webpack+vue-cli項目打包技巧

    詳解webpack+vue-cli項目打包技巧

    本篇文章主要介紹了詳解webpack+vue-cli項目打包技巧 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Vue自定義指令簡介和基本使用示例

    Vue自定義指令簡介和基本使用示例

    同時Vue也支持讓開發(fā)者,自己注冊一些指令,這些指令被稱為自定義指令,每個指令都有自己各自獨立的功能,這篇文章主要介紹了Vue自定義指令簡介和基本使用,需要的朋友可以參考
    2024-03-03

最新評論

梧州市| 通州区| 伽师县| 黑水县| 东乡县| 遂宁市| 南木林县| 新丰县| 漳州市| 驻马店市| 永吉县| 铜川市| 镇远县| 驻马店市| 保德县| 张家港市| 阿城市| 富宁县| 镇雄县| 城口县| 吉林市| 蒙阴县| 弥渡县| 永德县| 察隅县| 佛学| 潞城市| 北宁市| 黑河市| 凉城县| 七台河市| 安平县| 乡宁县| 永靖县| 麻栗坡县| 六安市| 镇沅| 革吉县| 永昌县| 彭阳县| 漳平市|