uni-app v-for遍历对象无法使用第三个参数index v-for="(val,key,index) in obj" 其中index为undefined
uni-app v-for遍历对象无法使用第三个参数index v-for="(val,key,index) in obj" 其中index为undefined
类别 | 信息 |
---|---|
产品分类 | uniapp/小程序/微信 |
PC开发环境 | Windows |
操作系统版本 | window 10 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 3.1.6 |
工具版本 | 1.05 |
基础库版本 | 2.15 |
项目创建方式 | HBuilderX |
操作步骤:
<view v-for="(val,key,index) in order.shipGoods" :key="key" class="item flex align-stretch">
<text>{{index}}</text>
</view>
预期结果:
循环输出下标, 从0开始
实际结果:
下标为undefined
bug描述:
<view v-for="(val,key,index) in order.shipGoods" :key="key" class="item flex align-stretch">
<text>{{index}}</text>
</view>
其中index 是undefined
在vue中是支持遍历对象时第三个参数是index
更多关于uni-app v-for遍历对象无法使用第三个参数index v-for="(val,key,index) in obj" 其中index为undefined的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
根据文档描述目前小程序端未支持
更多关于uni-app v-for遍历对象无法使用第三个参数index v-for="(val,key,index) in obj" 其中index为undefined的实战教程也可以访问 https://www.itying.com/category-93-b0.html
后续会考虑优化
还没搞好吗
回复 2***@qq.com: 优先级+1,可以先试试vue3版的
在 uni-app 中,v-for
遍历对象时第三个参数 index
在某些平台(如小程序)可能不被支持,这与 Vue.js 在 Web 环境中的行为不同。uni-app 的模板编译受限于平台差异,对象遍历通常只提供 (value, key)
两个参数。建议改用数组遍历或通过计算属性将对象转换为数组形式,例如:
computed: {
shipGoodsList() {
return Object.entries(this.order.shipGoods).map(([key, val], index) => ({
key,
val,
index
}));
}
}
模板中改为:
<view v-for="item in shipGoodsList" :key="item.key">
<text>{{ item.index }}</text>
</view>