vue中使用双重v-for循环列表,点击元素设置active样式

在这里插入图片描述
html结构

        <div class="header">
          <dl v-for="(item,parentIndex) in mediaData" :key="parentIndex">
            <dt>{{item.itemname}}:</dt>
            <dd>
              <a href="javascript:;" @click="addStyle(childIndex,parentIndex)" v-for="(val,childIndex) in item.skus" :key="childIndex" :class="{ 'active':childIndex === mediaData[parentIndex].selected }">{{val.catname}}</a>
            </dd>
          </dl>
        </div>

后端数据格式

{
    "code": 200,
    "result": [
        {
            "itemname": "媒体类型",
            "skus": [
                {
                    "cat_id": 0,
                    "catname": "不限"
                },
                {
                    "cat_id": "61",
                    "catname": "新闻资讯"
                },
                {
                    "cat_id": "62",
                    "catname": "财经商业"
                },
                {
                    "cat_id": "63",
                    "catname": "IT-科技"
                },
                {
                    "cat_id": "65",
                    "catname": "女性时尚"
                },
                {
                    "cat_id": "71",
                    "catname": "房产家居"
                },
                {
                    "cat_id": "64",
                    "catname": "母婴亲子"
                },
                {
                    "cat_id": "70",
                    "catname": "汽车媒体"
                },
                {
                    "cat_id": "84",
                    "catname": "娱乐休闲"
                },
                {
                    "cat_id": "68",
                    "catname": "游戏动漫"
                },
                {
                    "cat_id": "79",
                    "catname": "体育频道"
                },
                {
                    "cat_id": "82",
                    "catname": "健康医疗"
                },
                {
                    "cat_id": "83",
                    "catname": "教育培训"
                },
                {
                    "cat_id": "73",
                    "catname": "食品餐饮"
                },
                {
                    "cat_id": "69",
                    "catname": "机械工业能源"
                },
                {
                    "cat_id": "72",
                    "catname": "艺术媒体"
                },
                {
                    "cat_id": "74",
                    "catname": "服装家纺"
                },
                {
                    "cat_id": "75",
                    "catname": "建材媒体"
                },
                {
                    "cat_id": "67",
                    "catname": "酒店旅游"
                },
                {
                    "cat_id": "76",
                    "catname": "珠宝媒体"
                },
                {
                    "cat_id": "80",
                    "catname": "社会公益"
                },
                {
                    "cat_id": "81",
                    "catname": "酒水茶叶"
                },
                {
                    "cat_id": "85",
                    "catname": "生活消费"
                },
                {
                    "cat_id": "78",
                    "catname": "其他"
                }
            ]
        },
        {
            "itemname": "综合门户",
            "skus": [
                {
                    "cat_id": 0,
                    "catname": "不限"
                },
                {
                    "cat_id": "30",
                    "catname": "综合门户"
                },
                {
                    "cat_id": "31",
                    "catname": "中央媒体"
                },
                {
                    "cat_id": "32",
                    "catname": "地方门户"
                },
                {
                    "cat_id": "33",
                    "catname": "垂直媒体"
                },
                {
                    "cat_id": "34",
                    "catname": "报业媒体"
                },
                {
                    "cat_id": "35",
                    "catname": "中小媒体"
                },
                {
                    "cat_id": "36",
                    "catname": "自媒体"
                }
            ]
        },
        {
            "itemname": "地区",
            "skus": [
                {
                    "cat_id": 0,
                    "catname": "不限"
                },
                {
                    "cat_id": "2",
                    "catname": "全国"
                },
                {
                    "cat_id": "3",
                    "catname": "北京"
                },
                {
                    "cat_id": "4",
                    "catname": "上海"
                },
                {
                    "cat_id": "5",
                    "catname": "广东"
                },
                {
                    "cat_id": "6",
                    "catname": "浙江"
                },
                {
                    "cat_id": "7",
                    "catname": "天津"
                },
                {
                    "cat_id": "8",
                    "catname": "重庆"
                },
                {
                    "cat_id": "9",
                    "catname": "湖南"
                },
                {
                    "cat_id": "23",
                    "catname": "湖北"
                },
                {
                    "cat_id": "22",
                    "catname": "福建"
                },
                {
                    "cat_id": "21",
                    "catname": "安徽"
                },
                {
                    "cat_id": "10",
                    "catname": "河北"
                },
                {
                    "cat_id": "12",
                    "catname": "四川"
                },
                {
                    "cat_id": "14",
                    "catname": "江苏"
                },
                {
                    "cat_id": "11",
                    "catname": "河南"
                },
                {
                    "cat_id": "16",
                    "catname": "辽宁"
                },
                {
                    "cat_id": "17",
                    "catname": "吉林"
                },
                {
                    "cat_id": "29",
                    "catname": "山东"
                },
                {
                    "cat_id": "24",
                    "catname": "陕西"
                },
                {
                    "cat_id": "18",
                    "catname": "甘肃"
                },
                {
                    "cat_id": "13",
                    "catname": "山西"
                },
                {
                    "cat_id": "19",
                    "catname": "青海"
                },
                {
                    "cat_id": "20",
                    "catname": "海南"
                },
                {
                    "cat_id": "25",
                    "catname": "广西"
                },
                {
                    "cat_id": "26",
                    "catname": "贵州"
                },
                {
                    "cat_id": "15",
                    "catname": "江西"
                },
                {
                    "cat_id": "27",
                    "catname": "黑龙江"
                },
                {
                    "cat_id": "28",
                    "catname": "云南"
                },
                {
                    "cat_id": "31",
                    "catname": "内蒙古"
                },
                {
                    "cat_id": "30",
                    "catname": "新疆"
                },
                {
                    "cat_id": "32",
                    "catname": "西藏"
                },
                {
                    "cat_id": "33",
                    "catname": "其他地区"
                },
                {
                    "cat_id": "34",
                    "catname": "宁夏"
                },
                {
                    "cat_id": "35",
                    "catname": "台湾"
                }
            ]
        },
        {
            "itemname": "价格区间",
            "skus": [
                {
                    "cat_id": "0,100000000",
                    "catname": "不限"
                },
                {
                    "cat_id": "0,40",
                    "catname": "0~40元"
                },
                {
                    "cat_id": "40,70",
                    "catname": "40~70元"
                },
                {
                    "cat_id": "70,120",
                    "catname": "70~120元"
                },
                {
                    "cat_id": "120,100000",
                    "catname": "120元以上"
                }
            ]
        },
        {
            "itemname": "收录参考",
            "skus": [
                {
                    "cat_id": 0,
                    "catname": "不限"
                },
                {
                    "cat_id": "15",
                    "catname": "网页收录"
                },
                {
                    "cat_id": "14",
                    "catname": "新闻收录"
                }
            ]
        },
        {
            "itemname": "可发媒体",
            "skus": [
                {
                    "cat_id": 0,
                    "catname": "不限"
                },
                {
                    "cat_id": "24",
                    "catname": "出稿快"
                },
                {
                    "cat_id": "10",
                    "catname": "微商"
                },
                {
                    "cat_id": "20",
                    "catname": "股票"
                },
                {
                    "cat_id": "22",
                    "catname": "加盟"
                },
                {
                    "cat_id": "15",
                    "catname": "理财"
                },
                {
                    "cat_id": "26",
                    "catname": "医疗"
                },
                {
                    "cat_id": "7",
                    "catname": "P2P"
                },
                {
                    "cat_id": "21",
                    "catname": "美容护肤"
                },
                {
                    "cat_id": "19",
                    "catname": "可首发"
                },
                {
                    "cat_id": "23",
                    "catname": "可带署名"
                },
                {
                    "cat_id": "11",
                    "catname": "周六可发"
                },
                {
                    "cat_id": "25",
                    "catname": "易上相关"
                },
                {
                    "cat_id": "17",
                    "catname": "根据媒体属性"
                }
            ]
        },
        {
            "itemname": "链接类型",
            "skus": [
                {
                    "cat_id": 0,
                    "catname": "不限"
                },
                {
                    "cat_id": "4",
                    "catname": "微信/二维码"
                },
                {
                    "cat_id": "6",
                    "catname": "可带网址"
                },
                {
                    "cat_id": "8",
                    "catname": "媒体安排"
                }
            ]
        }
    ],
    "msg": "数据请求成功"
}

处理方法

    addStyle(childIndex, parentIndex) {
      this.mediaData[parentIndex].selected = childIndex
    }

json格式处理

    mediaCategory().then(res => {
      let resData = res.result
      resData.forEach(item => {
        item.selected = 0  //添加默认值0
      })
      this.mediaData = resData
    })
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值