基于vue.js仿淘宝收货地址并设置默认地址的案例分析


Posted in Javascript onAugust 20, 2020

这个案例主要是渲染地址列表,然后设置默认地址,与淘宝的收货地址功能一样,具体自行查看自己的淘宝收货地址;

效果图:

基于vue.js仿淘宝收货地址并设置默认地址的案例分析

html结构

<!--the-address-->
<div class="the-address">
  <div class="adr-tent" id="vue-address">
    <table class="adr-table">
      <thead class="table-thead">
        <tr>
          <th rowspan="1" class="thh">
            <span class="tn">收货人</span>
          </th>
          <th rowspan="1" class="thh">
            <span class="tn">所在地区</span>
          </th>
          <th rowspan="1" class="thh">
            <span class="tn">详细地址</span>
          </th>
          <th rowspan="1" class="thh">
            <span class="tn">邮编</span>
          </th>
          <th rowspan="1" class="thh">
            <span class="tn">电话/手机</span>
          </th>
          <th rowspan="1" class="thh">
            <span class="tn">操作</span>
          </th>
          <th rowspan="1" class="thh">
            <span class="tn">设置</span>
          </th>
        </tr>
      </thead>
      <tbody class="table-tbody">
        <tr class="item" v-for="(v,i) in addressList">
          <td class="tdd">
            <span class="ti">
              <em class="tt">{{v.name}}</em>
            </span>
          </td>
          <td class="tdd">
            <span class="ti">
              <em class="tt">{{v.address}}</em>
            </span>
          </td>
          <td class="tdd">
            <span class="ti">
              <em class="tt">{{v.detailAddress}}</em>
            </span>
          </td>
          <td class="tdd">
            <span class="ti">
              <em class="tt">{{v.zipCode}}</em>
            </span>
          </td>
          <td class="tdd">
            <span class="ti">
              <em class="tt">{{v.phone}}</em>
            </span>
          </td>
          <td class="tdd">
            <span class="ti">
               <div class="handle">
                <a href="javascript:;" class="a-chg">修改</a>
                <i class="line">|</i>
                <em class="i-del">删除</em>
              </div>
            </span>
          </td>
          <td class="tdd">
            <span class="ti">
               <em class="set-def cur" v-if="v.isDefault">默认地址</em>
               <em class="set-def" v-else @click="setDefault(i)">设为默认</em>
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

js功能

//地址管理
  const vueAddress = new Vue({
    el: '#vue-address',
    data(){
      return{
        addressList: [], //地址列表
      }
    },
    created(){
      this.getAddressJson();
    },
    methods:{
      //获取地址列表数据
      getAddressJson(){
        let url = 'json/addressTest.json';
        axios.get(url)
          .then(response =>{
            this.addressList = response.data.list;
          })
          .catch(error => {
            console.log(error)
          })
      },

      //设置默认地址
      setDefault(i){
        const addressList = this.addressList;
        addressList.forEach((item, index) => {
          item.isDefault = index == i;
        });
        addressList.splice(0, 0, ...addressList.splice(i, 1));
      }

    }
  });

如有发现问题,可留言哦~

具体案例,可访问本人github:https://github.com/xiexikang/vue-setDefaultAddress

总结

到此这篇关于基于vue.js仿淘宝收货地址并设置默认地址的案例分析的文章就介绍到这了,更多相关vuejs设置默认地址内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JS中confirm,alert,prompt函数区别分析
Jan 17 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
Jul 04 Javascript
一系列Bootstrap导航条使用方法分享
Apr 29 Javascript
简单理解js的prototype属性及使用
Dec 07 Javascript
JS触摸与手势事件详解
May 09 Javascript
Angular如何引入第三方库的方法详解
Jul 13 Javascript
你应该知道的几类npm依赖包管理详解
Oct 06 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
Feb 27 Javascript
详解vue使用$http服务端收不到参数
Apr 19 Javascript
layui点击数据表格添加或删除一行的例子
Sep 12 Javascript
Js实现复选框的全选、全不选反选功能代码实例
Feb 28 Javascript
vue中实现图片压缩 file文件的方法
May 28 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
Aug 20 #Javascript
微信小程序连续签到7天积分获得功能的示例代码
Aug 20 #Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 #Javascript
JavaScript 空间坐标的使用
Aug 19 #Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
Aug 19 #Javascript
jQuery实现评论模块
Aug 19 #jQuery
javaScript代码飘红报错看不懂?读完这篇文章再试试
Aug 19 #Javascript
You might like
判断PHP数组是否为空的代码
2011/09/08 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
jQuery 表格工具集
2010/04/25 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
2016/12/16 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
2017/11/10 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
详解vue v-model
2020/08/31 Javascript
python简单获取本机计算机名和IP地址的方法
2015/06/03 Python
python re模块findall()函数实例解析
2018/01/19 Python
对python 命令的-u参数详解
2018/12/03 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
Python模块future用法原理详解
2020/01/20 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
Django model class Meta原理解析
2020/11/14 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
美国高端婴童品牌:Hanna Andersson
2016/10/30 全球购物
澳大利亚在线家具店:Luxo Living
2019/03/24 全球购物
顶撞领导检讨书
2014/01/29 职场文书
《在大海中永生》教学反思
2014/02/24 职场文书
新春寄语大全
2014/04/09 职场文书
小学学雷锋活动总结
2014/04/25 职场文书
单位实习介绍信
2015/05/05 职场文书
高中生物教学反思
2016/02/20 职场文书
python 解决微分方程的操作(数值解法)
2021/05/26 Python
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL