小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 当前 Bug 的表现(可附上截图)
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
VM2022:2 Do not set same key {[object Object]} in wx:key.
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
<block wx:for="{{tabs}}" wx:key="{{index}}">
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
你好,请问这个为什么是这样写的,官方文档上不是写的
wx:key 的值以两种形式提供1、wx:key="property" 其中property是代表在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。类似于字典的key值2、wx:key="*this", 保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字
这里为什么要这样写{{index}}
<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 是相对于这个数组是唯一的
好的,谢谢
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">
都是错误的,循环字符串数组怎么都是错误的呢?应该是怎么写的?
你的item不是字符串或者数字, 是object类型, 自己查一下吧.错误提示写的很清晰了...
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
<block wx:for="{{tabs}}" wx:key="{{index}}">
你好,请问这个为什么是这样写的,官方文档上不是写的
wx:key 的值以两种形式提供
1、wx:key="property" 其中property是代表在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。类似于字典的key值
2、wx:key="*this", 保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字
这里为什么要这样写{{index}}
<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 是相对于这个数组是唯一的
好的,谢谢
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">
都是错误的,循环字符串数组怎么都是错误的呢?应该是怎么写的?
你的item不是字符串或者数字, 是object类型, 自己查一下吧.错误提示写的很清晰了...