收藏
回答

Do not set same key {[object Object]}

问题模块
API和组件
Do not set same key {[object Object]} in wx:key.


我在调用 setData() 时,有时会有这个 warning,这个是什么原因呢?


var that = this
that.setData({
    ...
})


都是出现在「列表渲染」的数据中,能帮忙解答一下吗?谢谢!

最后一次编辑于  2017-09-15  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

8 个回答

  • 林单
    林单
    2018-07-25

    wx:key="{{*this}}"


    2018-07-25
    赞同 33
    回复
  • James Lam
    James Lam
    2018-05-09

    那是因为你的wx:key的值是对象,就算你使用*this,但是每个项的wx:key的值都是[Object Object]

    2018-05-09
    赞同 22
    回复
  • 赵青山
    赵青山
    2017-09-15

    key是列表中项目的唯一标识符,不能相同,你的wx:key设置错了

    2017-09-15
    赞同
    回复
  • 大狗
    大狗
    2017-09-18

    我是照着文档,wx:key="unique"

    我的循环 array 中的每个 item 都有一个 unique 属性,并且都有一个唯一字符串值。

    还是不明白为什么会有这个 warning,第一个调用 setData 就会有 warning,第二次开始就不会有了

    2017-09-18
    赞同
    回复 1
    • 海龙
      海龙
      2018-07-21

      请问楼主你这个问题解决了吗   我遇到跟你一样的问题  谢谢

      2018-07-21
      赞同
      回复
  • 大狗
    大狗
    2017-09-23

    有没有大神知道的?这个 warning 还是没解决

    2017-09-23
    赞同
    回复
  • 小刘
    小刘
    2018-09-19

    页面中多个for在一级, key不能相同


    正确的写法:        

    <view wx:for="{{list1}}" wx:key="list1"></view>

    <view wx:for="{{list2}}" wx:key="list2"></view>



    不正确的写法:

    <view wx:for="{{list1}}" wx:key="list"></view>

    <view wx:for="{{list2}}" wx:key="list"></view>


    <view wx:for="{{list1}}"></view>
    <view wx:for="{{list2}}"></view>


    2018-09-19
    赞同
    回复
  • Super波
    Super波
    02-26

    wx:key="{{index}}"  index可是唯一属性哦,所以使用之后不会就不会警告了

    02-26
    赞同
    回复