收藏
回答

wx:key一直报相同的警告怎么办

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx:key 工具 6.53 2.3.2

- 当前 Bug 的表现(可附上截图)


- 预期表现


- 复现路径


- 提供一个最简复现 Demo

VM2022:2 Do not set same key {[object Object]} in wx:key.

回答关注问题邀请回答
收藏

3 个回答

  • 半寸灰
    半寸灰
    2018-10-30

    <block wx:for="{{tabs}}" wx:key="{{index}}">

    2018-10-30
    有用 1
    回复 3
    • nick
      nick
      2018-10-30

      你好,请问这个为什么是这样写的,官方文档上不是写的

      wx:key 的值以两种形式提供
      1、wx:key="property" 其中property是代表在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。类似于字典的key值
      2、wx:key="*this", 保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字

      这里为什么要这样写{{index}}

      2018-10-30
      回复
    • 半寸灰
      半寸灰
      2018-10-30回复nick

      <block wx:for="{{tabs}}" wx:key="this">    这里的this   只是字符串  

      <block wx:for="{{tabs}}" wx:key="{{this}}">   这里的this是未定义的


      当然你可以  

      <block wx:for="{{tabs}}" wx:key="{{item}}">  

      也可以item 的某一唯一的属性  都可以  

      我这里  index   是相对于这个数组是唯一的




      2018-10-30
      回复
    • nick
      nick
      2018-10-30回复半寸灰

      好的,谢谢

      2018-10-30
      回复
  • 2019-03-22

    Do not set same key \"[object Object]\" in wx:key.


    tabsData: {

    tabs: ["全部", "待付款", "待发货", "待收货", "待评价"],

    ...

    }


    <block wx:for="{{tabsData.tabs}}" wx:for-index="index" wx:key="*this">

    <block wx:for="{{tabsData.tabs}}" wx:for-index="index" wx:key="index">


    都是错误的,循环字符串数组怎么都是错误的呢?应该是怎么写的?

    2019-03-22
    有用
    回复
  • 彦明
    彦明
    2018-10-30

    你的item不是字符串或者数字, 是object类型, 自己查一下吧.错误提示写的很清晰了...

    2018-10-30
    有用
    回复
登录 后发表内容