美文网首页简明uniapp教程uin-app
uniapp之列表渲染中key值的作用(vue.js)

uniapp之列表渲染中key值的作用(vue.js)

作者: 瑟闻风倾 | 来源:发表于2020-04-03 09:49 被阅读0次

    参考:Vue列表渲染
    (1) 列表渲染示例

    <template>
        <view>
            <!-- array 中 item 的某个 property 作为 key -->
            <view v-for="(item,index) in nameList" :key="item.id">
                {{index +':'+ item.name}}
            </view>
            <!-- item 本身是一个唯一的字符串或者数字时,可以使用 item 本身 作为 key -->
            <view v-for="(item,index) in roleList" :key="item">
                {{index +':'+ item}}
            </view>
        </view>
    </template>
    <script>
    export default {
      data () {
        return {
          nameList:[{
              id:0,
              name:'yaya'
          },{
              id:1,
              name:'yangyang'
          }],
          roleList:['车工','质检','机修']
        }
      }
    }
    
    </script>
    

    (2) :key 值的选取

    • 使用 v-for 循环 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。
    • 使用 v-for 循环中 item 本身,这时需要 item 本身是一个唯一的字符串或者数字

    (3) key值的作用

    当数据改变触发渲染层重新渲染时,会校正带有 key 的组件,框架会确保 ① 组件被重新排序,而不是重新创建,以确保 ②组件保持自身的状态,并且 ③提高列表渲染效率

    • 如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如 <input> 中的输入内容,<switch> 的选中状态),需要使用 :key 来指定列表中项目的唯一的标识符。
    • 如不提供 :key,会报一个 warning, 如果明确知道该列表是静态,或者不必关注其顺序,可以选择忽略。

    (4) 拓展

    相关文章

      网友评论

        本文标题:uniapp之列表渲染中key值的作用(vue.js)

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