求教:微信小程序里,怎么迭代map数据?
发布于 5 年前 作者 qzhao 2306 次浏览 来自 问答

我的数据结构是这样子的:

cities: [{
            'A': [{
                id: 1,
                name: '爱河'
            }, {
                id: 2,
                name: '安口窑'
            }, {
                id: 3,
                name: '鞍山西'
            }, {
                id: 4,
                name: '阿拉山口'
            }]
        }, {
            'B': [{
                id: 5,
                name: '包官营'
            }, {
                id: 6,
                name: '包头东'
            }, {
                id: 7,
                name: '宝鸡南'
            }]
        }, {
            'C': [{
                id: 8,
                name: '长兴南'
            }, {
                id: 9,
                name: '漕河'
            }, {
                id: 10,
                name: '常州北'
            }]
        }]

我代码里面怎么迭代这个数据?

我wxml里面这么写,我知道不对,但是又不知道应该怎么写?

<view class="city-box">
        <block wx:for="{{cities}}" wx:for-item="cityGroup" wx:key="loop2">
            <block wx:for="{{cityGroup.keys}}" wx:for-item="city" wx:key="loop3">
                <view class="item" data-id="{{city.id}}">{{city.name}}</view>
            </block>
        </block>
    </view>
4 回复

请问可以了么?

小程序的wxml 本来就很low  开发太不友好了,,还是喜欢React

不会这么low吧,不能迭代map,我只是想着,操作map更方便一点,如果不支持迭代map,那就尴尬了

wx:for

在组件上使用wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。

默认数组的当前项的下标变量名默认为index,数组当前项的变量名默认为item

好像只能迭代数组, 建议转数组处理

回到顶部