美文网首页
前端table或li设置key值问题

前端table或li设置key值问题

作者: AC编程 | 来源:发表于2023-12-13 17:59 被阅读0次

一、问题描述

给table或li设置key值时,我们一般使用后台数据的id值,而不是使用列表的下标值

二、原因

后台数据id和列表下标都是唯一不重复的,但列表下标值在列表进行删除操作时,就会有问题(前端的diff算法)。比如,现在有列表数据:

[
    {
        "index": 0,
        "name": "A"
    },
    {
        "index": 1,
        "name": "B"
    },
    {
        "index": 2,
        "name": "C"
    }
]

当删除元素B时,数据变成了:

[
    {
        "index": 0,
        "name": "A"
    },
    {
        "index": 1,
        "name": "C"
    }
]

删除前后,下标index=1的是两个值,diff算法对比会有问题,但使用id值则不会出现问题。

三、总结

  • 使用id,列表删除前后,id对应的数据都是唯一的
  • 使用下标,列表删除前后,下标对应的数据是不唯一的。

相关文章

网友评论

      本文标题:前端table或li设置key值问题

      本文链接:https://www.haomeiwen.com/subject/jstigdtx.html