我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue实现选择商品规格功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue实现选择商品规格功能

本文实例为大家分享了vue实现选择商品规格功能的具体代码,供大家参考,具体内容如下

要实现上图的效果,代码如下:

<template>
        <div class="popupSub">已选规格:{{showSelectSpec}}</div>
          <div class="subItem" v-for="(item,index) in subItemList" :key="index">
            <div class="itemTitle">{{item.itemTitle}}</div>
            <div class="itemContent">
              <ul>
                <li
                  v-for="(res,resIndex) in item.itemContent"
                  :key="res"
                  @click="selectItem(res,index,$event,resIndex)"
                  :class="subIndex[index] == resIndex?'selectActive':'itemLi'"
                >{{res}}</li>
              </ul>
            </div>
          </div>
</template>
<script>
export default {
    data() {
        return {
          showSelectSpec: "",
          subItemList: [
            {
              itemTitle: "味道",
              itemContent: ["原味", "猕猴桃味", "橙子味", "苹果味", "菠萝味"]
            },
            {
              itemTitle: "容量",
              itemContent: ["300ML", "400ML", "500ML", "1000ML"]
            }
          ],
          selectArr: [], // 存放被选中的值
          subIndex: [] // 是否选中 因为不确定是多规格还是但规格,所以这里定义数组来判断
        }
    },
    methods: {
        selectSpec(index) {
          let t = this;
          t.showSpec = true;
        },
        selectItem(res, index, enevt, resIndex) {
          let t = this;
          if (t.selectArr[index] !== res) {
            t.selectArr[index] = res;
            t.subIndex[index] = resIndex;
          } else {
            t.selectArr[index] = "";
            t.subIndex[index] = -1; // 去掉选中的颜色
          }
          t.checkItem();
        },
        checkItem: function() {
          var self = this;
          var option = self.subItemList;
          var result = []; // 定义数组存储被选中的值
          console.log(JSON.parse(JSON.stringify(self.selectArr)));
          for (let i in option) {
            result[i] = self.selectArr[i] ? self.selectArr[i] : "";
          }
          for (let i in option) {
            var last = result[i]; // 把选中的值存放到字符串last去
            for (let k in option[i].item) {
              result[i] = option[i].item[k].name; // 赋值,存在直接覆盖,不存在往里面添加name值
              console.log("这里:", JSON.parse(JSON.stringify(result)));
            }
            result[i] = last; // 还原,目的是记录点下去那个值,避免下一次执行循环时避免被覆盖
          }
          self.$forceUpdate(); // 重绘
          self.showSelectSpec = self.selectArr.join("、");
          console.log(self.showSelectSpec);
        }
    }
}
</script>
<style>
.popupSub {
  color: #aaaaaa;
  text-align: center;
  font-size: 0.8em;
  margin-top: 5px;
  letter-spacing: 2px;
}
.subItem {
  font-size: 0.8em;
  margin-top: 10px;
}
.itemContent ul,
li {
  display: flex;
  flex-wrap: wrap;
}
.itemContent ul li {
  padding: 0 10px;
  border-radius: 10px;
  margin-right: 10px;
  margin-top: 10px;
  height: 28px;
  line-height: 28px;
}
.itemLi {
  border: 1px solid #b3b3b3;
}
.selectActive {
  border: 1px solid #1697db;
  color: #1697db;
}
</style>

这只是简单的实现选择规格,如果一开始后台有返回数据,还需要定义一个接收数据的对象。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue实现选择商品规格功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

小程序如何实现商品属性选择或规格选择功能

本篇内容主要讲解“小程序如何实现商品属性选择或规格选择功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序如何实现商品属性选择或规格选择功能”吧!如下实现效果1.wxml
2023-06-14

vue怎么实现商品多选功能

这篇文章主要讲解了“vue怎么实现商品多选功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么实现商品多选功能”吧!具体代码如下2023-06-30

vue怎么实现点击选中商品列表的功能

最近在做一个电商网站,需要实现点击选中商品列表的功能,借着这个机会,学习了一下Vue框架。在Vue中,实现点击选中列表非常简单,只需要使用Vue提供的v-on指令和v-bind指令即可。首先,在模板中定义一个商品列表,每个商品后面都有一个checkbox。```html<ul> <li v-for="item in itemList"> <input type="che
2023-05-14

vue如何实现点击选中商品列表的功能

本篇内容主要讲解“vue如何实现点击选中商品列表的功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue如何实现点击选中商品列表的功能”吧!在Vue中,实现点击选中列表非常简单,只需要使用Vu
2023-07-05

vue如何实现商品详情页功能

这篇文章将为大家详细讲解有关vue如何实现商品详情页功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue是什么Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是
2023-06-14

vue怎么实现商品购物车全选反选

这篇“vue怎么实现商品购物车全选反选”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么实现商品购物车全选反选”文章吧
2023-06-30

vue怎么实现日期选择组件功能

这篇文章主要讲解了“vue怎么实现日期选择组件功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么实现日期选择组件功能”吧!目录结构demo 用vue-cli 的webpack-si
2023-07-04

编程热搜

目录